home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 12 / Cream of the Crop 12 (Part II) / Cream of the Crop 12 (Part II).iso / BBS / KBBSZ20N.ZIP / UPDATES.DOC < prev   
Encoding:
Text File  |  1996-02-21  |  101.6 KB  |  2,758 lines

  1.  
  2. ██   ██ ██████▄ ██████▄ ▄█████▄ ███████ ▄██████
  3. ██   ██ ██▄▄▄██ ██   ██ ██▄▄▄██   ▐█▌   ██▄▄▄▄
  4. ██   ██ ██▀▀▀▀  ██   ██ ██▀▀▀██   ▐█▌   ██▀▀▀▀
  5. ▀█████▀ ██      ██████▀ ██   ██   ▐█▌   ▀██████
  6.  
  7. A History of the changes made to KBBS, starting with version Z.1816
  8. (C) Copyright 1995, 1996 Anderson Research
  9.  
  10. 2.20Z.20N Test release (internal compile number 28788)
  11. ---------
  12.  
  13.   LOOK/FEEL
  14.  
  15.     More changes have been made to make the interface more consistent
  16.     around the sysop utilties generally.
  17.  
  18.  
  19.   MULTITASKING/LOW LEVEL
  20.  
  21.     Several additions and fixes to memory, thread and stack handling
  22.     have been made in this addition to make KBBS less memory hungry
  23.     and more reliable.  This represents the majority of the work
  24.     for this release, although the actual modifications will not be
  25.     listed here.
  26.  
  27.     The minimum number of concurrent threads will now be 7 instead
  28.     of 4.  We have found that less than 7 creates too much of a
  29.     demand on the stack and crashes occur, and 7 will still run
  30.     pretty efficiently on systems with less than 500K of conventional
  31.     memory as long as there is EMS or XMS memory available.
  32.  
  33.     The background events are now configurable individually in
  34.     the Setup, Nodes, Multitasker setup screen.
  35.  
  36.  
  37.   CONFERENCE ISSUES
  38.  
  39.     The ALT-I in the QWK Network setup will now import from anywhere.
  40.  
  41.  
  42.   DOORS
  43.  
  44.     The lockup when adding new doors has been fixed.
  45.  
  46.  
  47.   EVENTS
  48.  
  49.     The event schedules will no longer fill up with empty schedule
  50.     times when you ALT-I to initialize them.
  51.  
  52.     Other problems related to event execution have been fixed.
  53.  
  54.  
  55.   FTS SUPPORT
  56.  
  57.     Due to the problems in getting this release out, TIC Hub support
  58.     will follow in the next release. (Booo hisss)
  59.  
  60.     The ALT-I area import works now.
  61.  
  62.  
  63.   MENUS
  64.  
  65.     In the menu tree, Dynamic menu settings, the "Use color settings
  66.     below" toggle was reversed... now fixed.  If you're having some
  67.     strange problems with colors, look for this toggle and make sure
  68.     your colors are what you want them to be.
  69.  
  70.     Some problems in the sysop utilities menus have been fixed.
  71.  
  72.  
  73.   RING DETECTION
  74.  
  75.     More adjustments have been made for ring detection for RingMaster
  76.     and distinctive ring systems.
  77.  
  78.  
  79.   SEQ ISSUES
  80.  
  81.     The REFRESHFILE() command now works properly.
  82.  
  83.  
  84.   NEW SEQ COMMANDS
  85.  
  86.     WRITEFILELIST command                             Files
  87.     =======================================================
  88.  
  89.         Purpose   Creates a file list
  90.  
  91.          Syntax   WRITENEWFILELIST( <fileindex>,<handle>,<level>,<control>);
  92.  
  93.         Remarks   <fileindex> is of type filename, <handle> is a
  94.                   variable of type integer, <level> is of type
  95.                   byte, <control> is of type integer
  96.  
  97.                   Outputs a files list of the file index
  98.                   <fileindex>, writing it to a text file, opened by
  99.                   one of the OPENTEXT... commands using <handle>.
  100.                   The files scanned are based on <level>-- only
  101.                   subjects and files within those subjects that may
  102.                   be accessed by the specified security level will
  103.                   be listed.
  104.  
  105.                   <control> is bitmapped (32 bit) control variable
  106.                   that will be used to turn on and off various
  107.                   list features in a future version.  In the
  108.                   current edition, the list will be structured
  109.                   as follows:
  110.  
  111.                     Files and subjects listed in the main (root) subject
  112.                     ┌─────────────────────────────────────────────┐
  113.                     │ Subject header including description        │
  114.                     └─────────────────────────────────────────────┘
  115.                     Files and [subjects] listed in the above subject
  116.  
  117.                   and so forth.  Note that NO header is placed at the
  118.                   beginning-- this is left up to the programmer.
  119.  
  120.                   No status is displayed while the file list is
  121.                   being created.
  122.  
  123.    Restrictions   This command is ignored if the file <handle> is
  124.                   not open and ready for writing.
  125.  
  126.        See Also   SCANNEWFILEDATE, SCANNEWFILES, WRITENEWFILELIST
  127.  
  128.  
  129.  
  130. 2.20Z.20M Test release (internal compile number 28556)
  131. ---------
  132.  
  133.   MEMORY/LOW LEVEL
  134.  
  135.     ... another test to see if lockup and slowdown problems that
  136.     existed on Hal Holland's machine are solved.  They appear
  137.     to be solved here.
  138.  
  139.     STACK checking has been enabled in this version, which slows
  140.     things down about 5% but will allow us to find out where
  141.     the stack crashing is occurring.
  142.  
  143.  
  144.   INTERFACE ISSUES
  145.  
  146.     Major changes everywhere toward making the interface more
  147.     consistent.  Now you have to press F10 everywhere to save
  148.     the screen, but you can also abort everything in case
  149.     you make a mistake.
  150.  
  151.     In the "low cost dialing hours" and "pager schedule" the
  152.     Every Day option now displays correctly in the picklist.
  153.     It was displaying as Saturday.
  154.  
  155.  
  156.   INTERNODE
  157.  
  158.     The indernode command SHUTDOWN _REALLY_ leaves the phone
  159.     off the hook now...  (I know-- this has been listed as
  160.     fixed several times now, but I think we got it this time)
  161.  
  162.  
  163.   COMMUNICATIONS
  164.  
  165.     We have switched the INIT and HANGUP code in the recycle
  166.     process for a more intelligent way to manage the modem
  167.     on recycle.  (Gee... why didn't we think of this before...)
  168.  
  169.  
  170.   FTS ISSUES
  171.  
  172.     The TIC importer now properly puts files OFFLINE as defined
  173.     in the setups.
  174.  
  175.     The "Picture" bit will now be set properly in inbound TIC
  176.     files that aren't processed by the upload processor.
  177.  
  178.  
  179.   COMMAND LINE
  180.  
  181.     The command line parameter, COMPILENODELISTS, will now work,
  182.     in addition to COMPILENODELIST.
  183.  
  184.  
  185.  
  186. 2.20Z.20K Bug fix release (internal compile number 28438)
  187. ---------
  188.  
  189.   PLEASE NOTE
  190.  
  191.     We're soon going to go back to the daily UPGRADE versions
  192.     for registered sysops, so we're going to start using our
  193.     internal compile number.  It will now appear at the top of
  194.     your ERROR.LOG, and will help us to know exactly which
  195.     version you are running.
  196.  
  197.  
  198.   FIXES
  199.  
  200.     When running KBBSUTIL directly, the ALT-F1 and F1 (help) keys
  201.     work properly.
  202.  
  203.     Event problems have been fixed.  (Funny thing-- the problem
  204.     would only manifest itself during the first 7 days of the
  205.     month...)
  206.  
  207.     The SHUTDOWN NODE internode command will now leave the phone
  208.     off hook if using the offhook option.
  209.  
  210.     FTS fixes:  echomail packets attached to netmail messages will
  211.     now be tossed properly, and non-echomail packets will be
  212.     attached properly and not processed into the misc file subject.
  213.     The TIC processor should now save and process incoming TIC's
  214.     safely regardless of the existance of paths defined in the
  215.     file subjects.
  216.  
  217.     The problem of "Minimum Age" settings to 115 years in file
  218.     subjects has been solved...
  219.  
  220.  
  221.  
  222. 2.20Z.20j test release
  223. ---------
  224.  
  225.   WHAT IS NOT IN THIS RELEASE
  226.  
  227.     After struggling this month with bugs, illness, family problems
  228.     and whatever else fate could dish out, we're just happy to
  229.     get this release out.  We'll be doubling our efforts during
  230.     the month of February to get through the rest of the enormous
  231.     TODO list.  The following were NOT included in this release,
  232.     although they are coded and ready to be added this coming week:
  233.  
  234.       - support for Hubs and TIC files (right now it just processes
  235.         them, but you can't hatch them...  this is on the top of the
  236.         list for Monday)
  237.  
  238.       - KBBSMENU problem fixes
  239.  
  240.       - RIP fixes
  241.  
  242.       - some SEQ addition requests
  243.  
  244.  
  245.   LANGUAGE ISSUES
  246.  
  247.     We ended up doing a last minute reconstruction of the way we
  248.     maintain setup files-- a major rewrite that forced us offline
  249.     for about 2 days due to being half-upgraded.  We're now ready
  250.     to go through and add language/prompt editing support, which
  251.     should be part of the next release.
  252.  
  253.  
  254.   NEW KERNEL CODING
  255.  
  256.     After bashing our heads over a file corruption problem for the
  257.     last week, we found the problem to be in the multitasking
  258.     kernel and had to do a major re-think and re-write of a
  259.     significant portion of that code.  The benefits of this are
  260.     faster execution, faster virtual memory access, and one
  261.     additional step towards a 32 bit OS/2 and Win9x version.
  262.     This version should also run on systems with restricted
  263.     conventional memory.
  264.  
  265.     With all of the hammering on this version over the last month,
  266.     we believe this version to be the most stable KBBS we've
  267.     released to date.  Field testing will be the truthteller on
  268.     this one.
  269.  
  270.  
  271.   TICK FILE SUPPORT
  272.  
  273.     BE SURE to go through all of the menus in the SETUP section of
  274.     the new KBBS Fido menu... you'll see a few additional options
  275.     that weren't there before.  New documentation to support the
  276.     changes will be out shortly.
  277.  
  278.     We have written and rewritten TICK support in KBBS so many times..
  279.     we have now come up with what we believe is the way to do this
  280.     effortlessly (on the part of the sysop) in KBBS.
  281.  
  282.     * SETTING UP TIC SUPPORT in the KBBS Fidonet menu
  283.  
  284.       1. Areas, TIC AREAS
  285.  
  286.         Here you must define all of the TIC area names and the
  287.         file index and subject you in which files marked with
  288.         the specified TIC area are to be placed.  You may also
  289.         define the fields used in the file index:  Minimum Age,
  290.         Hidden if no access, Security Levels, online/offline
  291.         and whether or not to use the upload processor on
  292.         incoming files.
  293.  
  294.         Currently, TIC files received without a password or
  295.         with an incorrect password are still placed in their
  296.         index/subject and placed offline.
  297.  
  298.       2. Areas, UNDEFINED TICS
  299.          (also found in the Fidonet Setup menu)
  300.  
  301.         This is similar to echomail's TRASHCAN--files with
  302.         unrecognized TIC area names are processed according
  303.         to these settings.
  304.  
  305.         It is recommended that the sysop
  306.         deny access to these files until they can be
  307.         reviewed for content before placing them online for
  308.         general download.
  309.  
  310.       3. Areas, INBOUND FILES
  311.          (also found in the Fidonet Setup menu)
  312.  
  313.         This is for receiving non-TIC and non-mail files.
  314.         Previously these files were placed in a NEWFILES
  315.         directory, but are now placed in a selected file
  316.         index and subject.  This setup is identical to the
  317.         Areas, UNDEFINED TICS above.
  318.  
  319.     NOTE: receive only support in this test version
  320.  
  321.       We have the code written for HUB .TIC support (hatching,
  322.       etc.) but were unable to resolve a few bugs prior to this
  323.       release.  Documentation for the new Fidonet menu and a
  324.       complete Send/Receive TIC support will be released
  325.       shortly.
  326.  
  327.  
  328.   SYSOP UTILITIES
  329.  
  330.     More restructuring has been done to the sysop utilities menu (this
  331.     will be an ongoing process until we arrive to something that
  332.     everyone likes).
  333.  
  334.     The DOS SHELL, LOCAL LOGIN, PROGRAM and EVENTS are now all
  335.     activated by the ALT-F1 hotkey from ANYWHERE in the sysop menu!
  336.     Hence, they have all been removed from the main menu.
  337.  
  338.  
  339.   KBBSMENU AND HIGHLIGHT BARS
  340.  
  341.     A bug that caused KBBSMENU to ignore a field with an @end@ at the
  342.     very end of a line has been fixed.
  343.  
  344.     A bug that failed to read the grid rows/columns properly has been
  345.     fixed.
  346.  
  347.     The highlight bar support has now been properly fixed to support
  348.     8 columns both dynamically and ANSI sysop defined.
  349.  
  350.  
  351.   USER AND SECURITY ISSUES
  352.  
  353.     Remember the old Re-serialize utility that would make everyone
  354.     get their own mail on the next mailrun?  That utility has been
  355.     upgraded to NOT force everyone to get their own mail by quickly
  356.     locating any dupe serial numbers in the user database and
  357.     assigning new numbers to just those only. It is now named "SERIAL
  358.     DUPE CHECK" and is found in the Users menu.  This utility is
  359.     automatically executed when you upgrade to this version.
  360.  
  361.     The error that occurred on some systems upon entry of the security
  362.     level setup has been fixed.
  363.  
  364.     Security level changing based on ratios has been FIXED!  (Really
  365.     has this time, folks)  You now have control over whether or not
  366.     to force ratios, change levels based on ratios, or turn them off
  367.     completely.  Specific data about the security level change will
  368.     now be logged so you can tell why KBBS changed the user's level.
  369.  
  370.     COMPLETE REWRITE:  Expiration date based security level changing
  371.     has been rewritten along with the ratio changing code, and it's
  372.     now completely functional and configurable.  See the new
  373.     H2LEVEL2.ZIP documentation clip file for tech notes on how
  374.     the security levels work.
  375.  
  376.  
  377.   EVENTS, TIME AND SCHEDULES
  378.  
  379.     In all of the "Click" type schedules (pager times, etc) a new
  380.     option "Every Day" has been added to the "Day" field, and the
  381.     time is now handled as start-stop rather than start-duration.
  382.  
  383.     Events have been restructured to have multiple schedules per
  384.     event setup.  A "Crash" zone may be defined for each schedule
  385.     so that if a system is down for a period of time without
  386.     running events, you have control over what events may still
  387.     execute at that later time.
  388.  
  389.     Events will no longer cause lockups if the system date changes,
  390.     or lockups at midnight.
  391.  
  392.     New event types:
  393.  
  394.       * execution of SEQ programs
  395.  
  396.       * rebuilding of Ksearch file index
  397.  
  398.  
  399.   LOW LEVEL ISSUES
  400.  
  401.     To handle a file-open bug found in both Windows'95 and some
  402.     peer-to-peer networking software, we added special handling
  403.     for read-only files in these environments.
  404.  
  405.     The Console Screen Editor has been fixed so it doesn't lockup
  406.     or do thousands of print-screens, etc.  (The stack was
  407.     being relocated to the overlay buffer memory.)
  408.  
  409.     If a compiled .SEQ is corrupt, KBBS will now tell you which
  410.     one, rather than just the location (i.e. SEQ Command Fault)
  411.  
  412.     KBBS will now detect and handle personal mail waiting flag
  413.     problems (i.e. corrupted flags, duplicate conferences in
  414.     notifications, etc).
  415.  
  416.  
  417.   FILE AREA
  418.  
  419.     A new key, ALT-Q, allows Quick changing of various fields in the
  420.     file records.  You can now tag a bunch of files and change their
  421.     security levels, minimum age requirements, etc.
  422.  
  423.     The ALT-T key while highlighted on the very last (blank) entry
  424.     in the current subject will no longer delete the last item in
  425.     the subject and put a blank file entry at the beginning.
  426.  
  427.     The underscore, hyphen and apostrophe have been added to the
  428.     key sensitivity of Ksearch file indexes.
  429.  
  430.     An age restriction field has been added to both file subjects
  431.     and files themselves.  "Hidden if no access" has been added
  432.     to files.  Because these are toggles that are most conveniently
  433.     set when the file is added to the system, the upload setup, TIC
  434.     area setup and file import screens all have these fields as well.
  435.     NOTE:  this part still has some work left to go.  For example,
  436.     in a file search, hidden/noaccess files aren't displayed, but
  437.     they are counted in the total files found.
  438.  
  439.     Because of the new "Hidden if no access" toggle, files that
  440.     users cannot access will now show up in the new files search
  441.     if they don't have access to it and the toggle is set to
  442.     DISABLE.
  443.  
  444.     Upload subject now has two sets of security fields:  who may
  445.     upload to the subject itself, and what security is assigned
  446.     to files uploaded to that subject.
  447.  
  448.     You may enable/disable the upload processor on an upload subject
  449.     level.  This also applies to TIC file support.
  450.  
  451.  
  452.   FIDONET SUPPORT
  453.  
  454.     A bug that caused all nodes to execute a single FTS queue event
  455.     has been fixed.
  456.  
  457.     A command line parameter has been added to compile the
  458.     FTS nodelists:  KBBS COMPILENODELISTS    Type KBBS /? for
  459.     help on all command line parameters.
  460.  
  461.     If a corrupt packet is handed to the message tosser, it won't
  462.     lockup anymore.
  463.  
  464.  
  465.   COLORS
  466.  
  467.     A toggle "Use color settings below" has been added to the menu
  468.     tree "Menu" type, so the defaults may be used if desired.
  469.  
  470.  
  471.   COMMUNICATIONS
  472.  
  473.     The hangup after recycle is a little more solid in this release.
  474.  
  475.  
  476.   SEQ ISSUES
  477.  
  478.     The PACKETWAITING function is properly returning a BYTE result
  479.     of 0 if no packet is waiting to be received, and the number of
  480.     the sending node if a packet is waiting to be received.  In all
  481.     of our tests this is now working as it's supposed to be.
  482.     (Note, the command originally returned a boolean result)
  483.  
  484.  
  485.   SEQ COMMAND AND FUNCTION ADDITIONS
  486.  
  487.     GETMESSLINE( <linenum> ):string  (function)
  488.  
  489.       <linenum> is of type integer.  This command retrieves
  490.       individual lines from the current message in the message
  491.       buffer.  The first line is line 1.  If <linenum> is
  492.       greater than the last line in the message, the global
  493.       status variable RESULT will be set to 1, otherwise
  494.       RESULT will be set to 0.  The carriage return at the
  495.       end of each line (soft or hard) is not included in the
  496.       result.
  497.  
  498.  
  499.     DELETETEXT( <startline>, <endline> );
  500.  
  501.       Both parameters are of type integer.  This command deletes
  502.       the lines starting at line number <startline> up to and
  503.       including line number <endline>.  If <startline> is greater
  504.       than <endline> then this command is ignored.  The first
  505.       line in a message is considered line 1.  If <endline> is
  506.       beyond the end of the message, the lines from <startline>
  507.       to the end of the message will be deleted.
  508.  
  509.       (see INSERTTEXT for a command to insert text into a message)
  510.  
  511.  
  512.     REFRESHFILE( <index>, <filename> );
  513.  
  514.       <index> and <filename> are of any string type.  This command
  515.       performs the same function as ALT-R in the file utilities--
  516.       it reads the current information about the file <filename>
  517.       in the file index <index>, updating the file size and date
  518.       in the file index.  It also updates the description using
  519.       the FILE_ID.DIZ or DESC.SDI within the file if it is an
  520.       archive and such a file is contained within.  Also, if any
  521.       information changed about the file, the posted date is
  522.       changed to the current date and time, and the the new-file
  523.       indexes are updated.  A value of 1 is returned in the
  524.       global status variable RESULT if the specified file is
  525.       not found in the specified index, otherwise RESULT is 0.
  526.  
  527.  
  528.  
  529. 2.20Z.20i test release
  530. ---------
  531.  
  532. NOTE FOR TESTERS:  The way color configuration worked in earlier versions
  533.                    of 20H has been changed.  A new DEFAULT COLOR SETTINGS
  534.                    has been added in Setup, Global that define the colors
  535.                    for the whole system, and a toggle in each menu
  536.                    selection defines whether to use the default or
  537.                    additional definitions in that selection.  If you
  538.                    were running an earlier version of 20H, this change
  539.                    will appear to have reverted your color changes back
  540.                    to default.  Simple go into the menu tree and toggle
  541.                    on the "Use below colors" toggle.
  542.  
  543.  
  544.   IMPORTANT LOW LEVEL STUFF
  545.  
  546.     The program launcher has been enhanced to give you more control
  547.     over the amount of memory your programs require.  The defaults
  548.     everywhere are ALL memory, forcing KBBS to swap out and make
  549.     available all conventional memory.  You can now reduce this
  550.     requirement for some programs that don't need it, which reduces
  551.     the swapper resource requirements and shortens the time it takes
  552.     to execute a program.  An example of this is PKZIP and PKUNZIP
  553.     which only use less than 200K if you have enough EMS/XMS memory,
  554.     making a swap/allocation of the full 610K a waste of time.
  555.  
  556.     A new executable has been added, KBBSLOOP.EXE, that handles the
  557.     dispatching from one module to the next, rather than the big
  558.     modules having to swap themselves out to pass back and forth.
  559.     This should result in less swapping time and sizes and give
  560.     KBBS more memory to work with.  This also elininated the benefit
  561.     of having separate KBBSFIDO and KBBSFILE modules, so those are
  562.     not integrated back into the old KBBSEXEC and KBBSUTIL sets.
  563.  
  564.     Recycle time should now be reduced because we have moved
  565.     some of the recycle code into the KBBSLOOP module.
  566.     ... update on this... we found we were creating a huge swap
  567.     memory overhead problem by putting ALL of the startup code
  568.     into KBBSLOOP.  We're now compromising and although the recycle
  569.     will be a little slower, the overall speed of the system should
  570.     increase.
  571.  
  572.  
  573.   MESSAGE EDITOR/VIEWER
  574.  
  575.     The color scheme for the message reader and editors is now definable
  576.     in the Default Color Setup in Setup, Global.  There is also a
  577.     MESSPALETTE command, see below.
  578.  
  579.     Fixes to color inconsistency bugs in 20H are in this version.
  580.  
  581.     @ control codes are no longer converted while in the editor (it
  582.     was impossible to edit before).
  583.  
  584.  
  585.   EDIT SCREENS AND FIELDS
  586.  
  587.     The color scheme for the edit screens and fields is now defined
  588.     in the Default Color Setup in Setup, Global.  There is also an
  589.     EDITPALETTE command, see below.
  590.  
  591.  
  592.   SUBJECT TREES
  593.  
  594.     The conference letter/number issue has been fixed.
  595.  
  596.     Starting with the files section and then the rest of the subject
  597.     tree lists, we have completely revamped the color displaying
  598.     process to allow sysops to choose the color scheme completely.
  599.     The color schemes are configured in the menu tree editor and
  600.     with the LISTPALETTE command.
  601.  
  602.     Some bugs that caused the file tree to not fill the entire screen
  603.     with subjects have been fixed.
  604.  
  605.     AT control codes will now work in tree subject (all), conference and
  606.     door descriptions.
  607.  
  608.  
  609.   FIDO SUPPORT
  610.  
  611.     The ALT-I (import RA/NA file) will now properly add the host address
  612.     and tag chosen for adding conference names.
  613.  
  614.     The long conference name/description in the RA/NA is now used for
  615.     the long conference name in conferences created by the ALT-I
  616.     import function.
  617.  
  618.     A new indexing method is being used for the nodelist compiler, so
  619.     you should recompile your nodelists when upgrading to this version.
  620.  
  621.     We have extended the detection wait time when receiving a call
  622.     in order to respond to slower connecting modems.  We WERE going
  623.     to make the time a field in the modem setup but scrapped that
  624.     for now.
  625.  
  626.     The toggle in the FTS user record that "combines packets" was
  627.     disabled for the wrong state of the .PKT toggle.  Fixed.
  628.  
  629.     The Enter Netmail option in the KBBSFido menu now saves the
  630.     message as a normal message in the netmail conference which
  631.     adds the "Normal" (routed) mail option and eliminates the
  632.     truncated PKT problem Leonard is having (we HOPE).  What seems
  633.     like a simple fix ended up being a major rewrite to the KBBSFido
  634.     structure, although not visibly different from before.
  635.  
  636.     The outbound dialer should now detect a BUSY more quickly.
  637.  
  638.  
  639.   MENUS
  640.  
  641.     ANSI Highlight bar menus have been expanded to handle 8 columns of
  642.     menu items instead of 4.  The limit of rows is still 18.
  643.  
  644.     A new utility, KBBSMENU, can now be used to define the bars in an
  645.     ANSI menu display file.  See KBBSMENU.DOC for more information.
  646.  
  647.     Lots of minor fixes to the menus not listed here.
  648.  
  649.     A new field has been added to the menu tree to keep KBBS from
  650.     clearing the screen before displaying the dynamic menu, allowing
  651.     the option of special effects.  This corresponds with the new
  652.     NOCLS variable for use with the MENU() command.
  653.  
  654.  
  655.   QWK IMPORT UTILITY
  656.  
  657.     The QWK import utility for setting up QWK/REP Networks is now
  658.     accessed by pressing ALT-I while in the mapping setup.
  659.  
  660.     All bugs have been fixed in that area also, and major
  661.     improvements to the speed of its operation now make it useful.
  662.  
  663.     Host conference name changes are now shown flashing in the picklist
  664.     to make changing your mappings and conference names a breeze.
  665.  
  666.  
  667.   FIXES AND ADDITIONS
  668.  
  669.     Another minor problem would cause a lost byte occasionally in
  670.     the display file output routines... this has been fixed (this
  671.     related to J.Scurran's RELNEWS.BBS sample with the color that
  672.     wouldn't change to #8 properly).
  673.  
  674.     Time should now count down properly while users are in doors.
  675.  
  676.     KSearch indexes now contain the names of the files.
  677.  
  678.     Another minor rewrite to the outbound dialer should solve any
  679.     remaining connect problems with some modems.
  680.  
  681.     Time shelled to an external program is no longer considered
  682.     "idle" time by KBBS so that the user is kicked off immediate
  683.     upon return.
  684.  
  685.     SEARCHBACKWARD and SEARCHFORWARD are now working properly and
  686.     will search for text in messages.  The SEQ set released with Z.21
  687.     will contain a MESSHEAD.SEQ that implements these commands.
  688.  
  689.     Execution of LOGOFF.SEQ will now leave the LASTCALL variable
  690.     alone instead of setting it to a random or 0 value.
  691.  
  692.     The toggle in the door setup for "Ignore Errorlevel" was reversed
  693.     and is now working properly.  (i.e. Yes was actually No and vice
  694.     versa)
  695.  
  696.     Highlight bar selections using the HOME and END keys wouldn't
  697.     really be selected, now working right.
  698.  
  699.     The editor in the SEQ programming section will no longer stop on
  700.     the error in column 65,000 or something like that.
  701.  
  702.     The Ksearch logic has been fixed so that when the first component
  703.     of an AND results in no files found, the result is properly ANDed
  704.     with the remaining components to result in 0 files (previously it
  705.     would ignore it).
  706.  
  707.  
  708.   SEQ FIXES AND CHANGES
  709.  
  710.     The EDITMESSAGE command will NOW edit the message in the current
  711.     message buffer.  A new EDITMSG.SEQ has been included with the
  712.     full release and upgrade that reflect this addition.
  713.  
  714.     The READKEY and KEYPRESSED function now return a value in RESULT
  715.     that specifies the source of the keypress:
  716.  
  717.       0: none pressed (for Keypressed)
  718.       1: from Caller (across the modem)
  719.       2: from Console (the sysop keyboard)
  720.  
  721.     If a key is simulteneously pressed on the console and remote,
  722.     priority is given to the keypress on the sysop console.
  723.  
  724.     Integer operations that would normally overflow the math
  725.     co-processor's stack and result in an error 209 will now function
  726.     properly (referring to Joshua Scurran's report of X:=BYTESLEFT*1024
  727.     when BYTESLEFT is a very high number).
  728.  
  729.  
  730.   NEW SEQ VARIABLES
  731.  
  732.     NOCLS :boolean
  733.  
  734.       If FALSE, KBBS will send a Clear Screen before displaying an ANSI
  735.       mode dynamic menu.  If TRUE, KBBS will display the menu over the
  736.       top of whatever is currently on the screen.  This corresponds to
  737.       the new field in the Menu Tree.
  738.  
  739.     USERLOGINSOUND :integer
  740.  
  741.       Returns the login sound defined in the user record
  742.  
  743.     LOGINSOUND: integer
  744.  
  745.       Returns the login sound defined for the current security level
  746.  
  747.     PAGEDURATION: integer
  748.  
  749.       Defines the pager duration for the remainder of the current
  750.       session.  Always set to 30 on startup of KBBS or when a user
  751.       record is loaded (using one of the LOGIN types or LOADUSER/
  752.       NEXTUSER).  The range is 0 to 9999 in seconds.  This variable
  753.       may not be used in edit fields since no direct pointer to
  754.       this variable exists.
  755.  
  756.  
  757.  
  758.   NEW SEQ COMMANDS/FUNCTIONS
  759.  
  760.     SETNODESTATUS( <status>, <chatavail> );
  761.  
  762.       <status> is a string, <chatavail> is of type boolean
  763.  
  764.       This sets the current node status string to <Status>.  Set
  765.       <chatavail> to TRUE if the user is able to chat, or FALSE
  766.       during operations that would be interrupted by a chat request.
  767.  
  768.  
  769.     MENUPALETTE...
  770.  
  771.       (See the syntax of this command below)
  772.  
  773.       All 0-7 values will now accept 0 to 15.  Values 8-15 denote
  774.       blinking attributes of the related foreground.
  775.  
  776.  
  777.     EDITPALETTE( <c1>, <c2>, ... <c14>, <c15>, <c16> );
  778.  
  779.       All 16 parameters are of type byte.
  780.  
  781.       NOTE:  all 16 parameters are required!
  782.  
  783.       This command changes the color scheme used by all subsequent
  784.       edit screens and fields.  Unlike the MENUPALETTE command,
  785.       all parameters in EDITPALETTE are in pairs of foreground
  786.       and background.  If a background parameter is above 7, the
  787.       foreground will be in blinking mode.  Parameter 15 defines
  788.       the character used in the background filler.  Parameter
  789.       16 is ignored but required.
  790.  
  791.           Foregr/
  792.            Backgr
  793.  
  794.             1/2=  Background filler
  795.             3/4=  Title text
  796.             5/6=  Normal text
  797.             7/8=  Other text
  798.            9/10=  Help text
  799.           11/12=  Inactive field text
  800.           13/14=  Active field text
  801.              15=  ASCII number for background filler character
  802.              16=  reserved
  803.  
  804.  
  805.     LISTPALETTE( <c1>, <c2>, ... <c32> );
  806.  
  807.       All 32 parameters are of type byte.
  808.  
  809.       NOTE:  all 32 parameters are required!
  810.  
  811.       This command changes the color scheme used by all subsequent
  812.       subject trees.  This includes the Files, Conferences, Bulletins,
  813.       Doors, ConferenceList (brief names) and other future areas.
  814.       Unlike the MENUPALETTE command, all parameters in LISTPALETTE
  815.       are in pairs of foreground and background.  If a background
  816.       parameter is above 7, the foreground will be in blinking mode.
  817.  
  818.           Foregr/
  819.            Backgr FILE SECTION        BULLETINS  CONF TREE  DOORS
  820.  
  821.             1/2=  Title/ancestors     (same)     (same)     (same)
  822.             3/4=  Current subject     (same)     (same)     (same)
  823.             5/6=  Defaults/Separator  (same)     (same)     (same)
  824.             7/8=  Subject Selector    (same)     (same)     (same)
  825.            9/10=  Subject Text        (same)     (same)     (same)
  826.           11/12=  Subject Description (same)     (same)     (same)
  827.           13/14=  File Selector       Bull Slctr Conf Slctr Door Slctr
  828.           15/16=  File name           Bull Name  Conf Name  Door Name
  829.           17/18=  File Size           n/a        n/a        n/a
  830.           19/20=  File Date           n/a        n/a        n/a
  831.           21/22=  File Desc, line 1   n/a        Conf desc  Door desc
  832.           23/24=  File Desc, others   n/a        n/a        n/a
  833.           25/26=  Offline/free info   n/a        Co-sysop   Mode info
  834.           27/28=  Subject highlight   (same)     (same)     (same)
  835.           29/30=  File highlight      Bull Hilt  Conf hilt  Door hilt
  836.           31/32=  File other info     n/a        n/a        n/a
  837.  
  838.  
  839.     MESSPALETTE( <c1>, <c2>, ... <c32> );
  840.  
  841.       All 32 parameters are of type byte.
  842.  
  843.       NOTE:  all 32 parameters are required!
  844.  
  845.       This command changes the color scheme used by all subsequent
  846.       message reading and editing.
  847.  
  848.           Foregr/
  849.            Backgr
  850.  
  851.             1/2=  Date label
  852.             3/4=  Date
  853.             5/6=  Time
  854.             7/8=  Pvt/Ech/Rcd (message flags)
  855.            9/10=  From Label
  856.           11/12=  From name
  857.           13/14=  To label
  858.           15/16=  To name
  859.           17/18=  Subject Label
  860.           19/20=  Subject text
  861.           21/22=  Conf/Reply labels
  862.           23/24=  Conference name
  863.           25/26=  Conference numbers
  864.           27/28=  Separator bar/default colors
  865.           29/30=  Normal text
  866.           31/32=  Quoted text
  867.  
  868.  
  869. 2.00Z.20G Test release
  870. ---------
  871.  
  872.   NEW ZMODEM
  873.  
  874.     We had completely rebuilt the Zmodem protocol (again) and this one
  875.     does quite a lot better than any previous version:
  876.  
  877.       - It keeps trying until it succeeds, no matter how bad line
  878.         conditions get, unlike the previous version that aborted easily
  879.  
  880.       - We're attempting to emulate Moby, making transfers between two
  881.         KBBS systems pretty quick.
  882.  
  883.       - True multi-thread operation separate disk reading from
  884.         communications so that less CPU overhead is being used during
  885.         transfers.
  886.  
  887.       - This Zmodem has improved the reliability of FTS support QUITE a bit
  888.  
  889.       - Procomm batch information is sent in the Zmodem file headers
  890.  
  891.  
  892.   TWITT FILTERING
  893.  
  894.     The NET import QWK twit filter is still intact, and a new global
  895.     import twit filter had been added to Trees, Conferences that filters
  896.     the following message import processes:
  897.  
  898.       1. REP Uploads from users
  899.       2. Inbound fidonet echomail packets
  900.       3. Net QWK imports (in addition to the current Net import filter)
  901.  
  902.     Unlike the NET import QWK import twit filter that allows sysops to
  903.     lockout subjects, the global twit filter only locks out messages
  904.     FROM the users listed in the filter.
  905.  
  906.     Note:  although KBBS will handle several hundred twits in this list
  907.     with no problem, a large number in this list will slow down import
  908.     processes because of the additional task of comparing the FROM name
  909.     in imported messages with entries in the list.
  910.  
  911.  
  912.   CHAT LOGGING
  913.  
  914.     While chatting, CTRL-HOME will toggle Chat Logging on and off,
  915.     defaulting to OFF when entering chat.  A CHAT.LOG will be
  916.     created in the KBBS directory and chat text will be appended.
  917.  
  918.     Also while in a chat, ALT-F1 will now shell to DOS locally.
  919.  
  920.  
  921.   CONTROL CODES
  922.  
  923.     We've completely rewritten the control (@, Pipe and Heart) code
  924.     processor to replace the previous buggy one.  This one has no
  925.     limit to line lengths (the number of codes you can squeeze
  926.     on a single line) and is much faster.
  927.  
  928.  
  929.   PROGRAM EDITOR/COMPILER
  930.  
  931.     The menu hotkeys (such as F6, ALT-0, etc) will leave the contents
  932.     of the current line alone (was erased/reverted before).
  933.  
  934.     The "Save As" option now presents the current filename for alteration
  935.     rather than garbage characters.
  936.  
  937.     A bug reported by Joshua Scurran that caused the compiler to
  938.     overlook a syntax error in a program has now been fixed.
  939.  
  940.  
  941.   DOORS
  942.  
  943.     A toggle has been added to the door setup to make KBBS ignore
  944.     the DOS ERRORLEVEL result when returning from executing the door.
  945.     We have found that some doors on some systems return a non-zero
  946.     result regardless of the successful execution of the door.
  947.  
  948.  
  949.   FTS
  950.  
  951.     The FTS.LOG logging has been shortened (a lot of debugging stuff
  952.     removed for items that we know are working now).
  953.  
  954.     The WAZOO ONLY mode dialout/poll is now working.
  955.  
  956.     If KBBS in unable to dearchive a packet, it is now moved to the
  957.     bad packet directory instead of deleted.
  958.  
  959.     The nodelist viewer has been given some additional cache memory so
  960.     it displays a bit faster when browsing up and down in the picklist.
  961.  
  962.     Because of a bug in OS/2's FINDFIRST and FINDNEXT DOS interrupt
  963.     commands, sometimes a packet would be send with no header... this
  964.     has (hopefully) been fixed.
  965.  
  966.  
  967.   NET STATUS
  968.  
  969.     Net status toggles are now found in the Security level setup as well
  970.     as the user's individual records.  This allows a sysop to grant an
  971.     entire security level Net status in a set of conferences.  The logic
  972.     used is A user has net status in a conference IF a user has individual
  973.     Net status OR his/her security level has net status.
  974.  
  975. *** WHAT IS NET STATUS?
  976.  
  977.       Net status grants a user "sysop" access to a conference, enabling
  978.       that user to (1) read private mail and (2) post messages that
  979.       aren't FROM himself/herself.  In essence, the user becomes a
  980.       co-sysop in any conference in which he/she has net status. The
  981.       primary purpose of net status is in QWK/REP mail networks.  You
  982.       must grant net status to sysops that wish to use QWK/REP mail to
  983.       echo conferences from your system, or they won't be able to read
  984.       and save messages to/from users on their own BBS.
  985.  
  986.  
  987.   FILE UTILITIES
  988.  
  989.     The upload processor will now properly handle non-archives.
  990.  
  991.     It no longer runs out of file handles while editing descriptions.
  992.  
  993.     Files accidentally left open that caused the complete rebuild to
  994.     crash if you previously edited a description just before you
  995.     perform the rebuild are now being closed properly.
  996.  
  997.     When you type a name while in the file tree, and that file isn't
  998.     located in the tree, it asks you if you want to add that file...
  999.     if you answered "yes" the actual index record added was filled
  1000.     with garbage... this has been fixed.
  1001.  
  1002.     A temporary directory with a FILE_ID.DIZ was left behind every
  1003.     time KBBS updated the .DIZ in a file (after editing the description).
  1004.  
  1005.     A bug that occurred only rarely that would corrupt subjects when
  1006.     moving mass numbers of tagged files has been fixed.
  1007.  
  1008.     When KBBS adds a FILE_ID.DIZ description file to an archive, the
  1009.     date/time is now set to match the date/time of the archive.
  1010.  
  1011.     The message saved to the sysop when an upload is performed now
  1012.     displayes the correct file size and date information and is saved
  1013.     to the proper sysop alias or real name.
  1014.  
  1015.  
  1016.   SEQ COMMANDS/COMPILER
  1017.  
  1018.     The WRITETEXT and WRITETEXTCH commands were altered in 20F to
  1019.     replace the @ codes... this caused several SEQ programs to
  1020.     misfunction, so this has been reverted back to its original
  1021.     state of not replacing the codes... sorry about that everyone.
  1022.  
  1023.     The F5 key in the SEQ fields will now edit a SEQ properly.
  1024.  
  1025.  
  1026.   OTHER FIXES/CHANGES
  1027.  
  1028.     KBBS will no longer cause a "Insert disk for drive B and press
  1029.     ENTER" problem on single drive systems (more testing will prove
  1030.     this).
  1031.  
  1032.     A bug caused a misread of an ANSI mode toggle and would strip
  1033.     ANSI from some outgoing QWK messages.... fixed.
  1034.  
  1035.     The LASTCALL variable and user data is now updated properly.
  1036.  
  1037.     The text editor window everywhere in the utilities (except the
  1038.     program editor, which is separate) now uses F10 or ALT-X to
  1039.     Save/Exit.  The ESCAPE key will give you the option of Save/Exit,
  1040.     Abort without saving, or return to edit.
  1041.  
  1042.     On some Win95 configurations, the DCDSTATUS line sometimes reports
  1043.     an OFF status when there is in fact a carrier present.  KBBS now
  1044.     polls the line up to 10 times if an OFF status is reported to make
  1045.     sure it's getting the correct message.
  1046.  
  1047.     Instead of a CLEAR SCREEN, KBBS now outputs a HOME CURSOR for just
  1048.     the ANSI highlight bar menus.  Dynamic menus still clear the screen,
  1049.     although we're going to add an option later to do otherwise for
  1050.     special effects (?? is this needed?).
  1051.  
  1052.     The FTS tosser will now unlock all files between packets to keep
  1053.     from holding the Netmail conference locked during long tossing jobs.
  1054.  
  1055.     Logging to the KBBS.LOG for local mode sessions has been fixed.
  1056.  
  1057.     Support for COM interrupts 8 through 15 has been added.
  1058.  
  1059.     The ^K and ^Q keys in the program editor will now display the
  1060.     signal properly in the upper left corner of the current window.
  1061.     The colors have also been fixed in the editor to not change when
  1062.     typing within a block.
  1063.  
  1064.     All picklists will now delay sorting until after exiting the list,
  1065.     and the sort algorithm is now cached to speed up the sorting
  1066.     process by 250%
  1067.  
  1068.     The sort process is now performed in protected mode and doesn't
  1069.     use the stack, so no more stack errors should result from large
  1070.     sort processes.
  1071.  
  1072.     The dialout process detects and reestablishes the carrier speed
  1073.     and error correction variables and leaves the buffer clear for
  1074.     the next process.
  1075.  
  1076.     The DIAL command used in the callback verifier now leaves the
  1077.     buffers clear upon return to the BBS.
  1078.  
  1079.     The import users utility (both KBBS and non-KBBS) will successfully
  1080.     import and index the names properly.
  1081.  
  1082.     Some adjustments made to the distinctive ring detection.
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091. 2.00Z.20F Test release
  1092. ---------
  1093.  
  1094.   DOS SHELL
  1095.  
  1096.     FINALLY we have found the culprit causing the DOS Shell to engage
  1097.     so often when escaping out of things...  simply an uninitialized
  1098.     register, but a TOUGH one to find.
  1099.  
  1100.  
  1101.   QWK/REP
  1102.  
  1103.     The problem/crash with uploading .REP packets with control
  1104.     messages has been fixed... nothing like trying to push 196K of
  1105.     data onto a 32K stack.
  1106.  
  1107.  
  1108.   FILE AREA AND UTILITIES
  1109.  
  1110.     The "Complete Rebuild" has itself been rewritten and put back in the
  1111.     file index repair menu.  It's SAFE, it's THOROUGH, and we highly
  1112.     recommend you backup your files and run it as soon as you get
  1113.     this release.  This rebuilder fixes most all index structure
  1114.     problems, and the new utilities are stable enough to keep them
  1115.     fixed.
  1116.  
  1117.     In the Tree Editor of the file utilities, the ALT-P key now initiates
  1118.     the new Utility Upload Processor that reprocesses the current file
  1119.     or tagged files as if uploaded.
  1120.  
  1121.     The ALT-W (Tag Multiple) and ALT-A (Tag All) have been repaired so
  1122.     that utilities that act on these tagged batches don't corrupt the
  1123.     subject structure.
  1124.  
  1125.     The tag-and-delete function now works (more testing will prove this).
  1126.  
  1127.     A whole new menu for the file utilities to eliminate some confusion
  1128.     as we start adding a lot more features to the menus.
  1129.  
  1130.     Deleting files from the file tree will now REALLY delete the file
  1131.     from the name and new file indexes.
  1132.  
  1133.     In the file tree, the "Offline" "Free" and "Resolution" messages
  1134.     now follow the descriptions.
  1135.  
  1136.     The correct status is now passed back to KBBS after external
  1137.     protocol transfers.
  1138.  
  1139.  
  1140.   UPLOAD PROCESSOR
  1141.  
  1142.     OKAY! Major upgrade of the upload processor, reflecting at least
  1143.     a month of work.  Read this section carefully.
  1144.  
  1145.     Two items from the old upload processor setup are still being
  1146.     used, and are found in Setup, Global, Global Toggles:
  1147.  
  1148.       - Whether or not the user has to enter the name prior to upload
  1149.  
  1150.       - The default archive extension on your system, now only used
  1151.         in searching for a name in the file section when a user tries
  1152.         to flag a file without specifying the extension.
  1153.  
  1154.     The UPLOAD REP function will now assume that all files uploaded
  1155.     during that function are indeed .REP files, regardless of their
  1156.     actual name(s).  More than one .REP file may be uploaded at once,
  1157.     and all are processed offline if the "(G)oodbye after transfer"
  1158.     option is selected.  Subsequently, the regular upload function
  1159.     will NOT import a .REP file into the message base, but will
  1160.     process it as a normal file and place it in the appropriate
  1161.     upload path.
  1162.  
  1163.     The file utilities menu has been broken away from the main
  1164.     utilities menu to make it more readable, since we're going to
  1165.     be adding dozens of options to the menu(s) over the next couple
  1166.     of weeks.
  1167.  
  1168.     Because of the configurability of the new upload processor, the
  1169.     "Allowed upload extensions" picklist has been eliminated.
  1170.  
  1171.     The upload processor setup is now defined separately for each
  1172.     file index, and has three parts to it:
  1173.  
  1174.       UPLOAD SUBJECTS
  1175.  
  1176.         Just like before, except now the "complete rebuild"
  1177.         doesn't erase them!
  1178.  
  1179.       GENERAL PROCESSOR
  1180.  
  1181.         This is the general setup for processing uploaded files.
  1182.         There are LOT of new options... just keep an eye on the
  1183.         help window below and it's all pretty self-explanatory.
  1184.  
  1185.       CUSTOMER PROCESSOR
  1186.  
  1187.         This is a picklist of GENERAL PROCESSOR screens, where you
  1188.         can define a completely different processing method for
  1189.         different matching file masks.  If an uploaded file doesn't
  1190.         match any of the masks in this picklist, the GENERAL
  1191.         PROCESSOR settings are used.
  1192.  
  1193.     The upload processor only operates in ASCII and ANSI modes.  A
  1194.     RIP mode processor will come later.  Two new @ control codes have
  1195.     been added for customizing the new ULPROC display screens to
  1196.     the sysop's liking:
  1197.  
  1198.       (these @ codes should be uppercase when used, shown here in lower
  1199.       case for ease of e-mail transmission)
  1200.  
  1201.       @ulprocname@    The current filename being processed, changed to
  1202.                       the new name of the file if renamed by the upload
  1203.                       processor.
  1204.  
  1205.       @ulprocstat@    The upload processor error status message, such
  1206.                       as "Too many duplicates" etc.
  1207.  
  1208.     The ASCII screen (ULPROC.BBS) or non-highlight bar ANSI screen
  1209.     (ULPROC.ANS) is displayed only once at the startup of the upload
  1210.     processor, then status messages are shown on subsequent lines as
  1211.     files are processed.
  1212.  
  1213.     If the ANSI screen (ULPROC.ANS) contains highlight bar control codes,
  1214.     it is redisplayed for each file before processing, and may be
  1215.     structured similar to the highlight bar ANSI menus to highlight
  1216.     different status messages during the processor operation.  The
  1217.     ULPROC.ANS screen operates differently in that more than one option
  1218.     may be highlighted at one time.  The "Key" field is used to denote
  1219.     which message belongs to which status.
  1220.  
  1221.     One other important difference in the way the highlight bars work is
  1222.     the ULPROC.ANS screen's highlight bars are displayed WITHOUT stripping
  1223.     the ANSI codes in the bar text itself.  This allows ANSI modification
  1224.     of the highlight color to create special effects.  (See example)
  1225.  
  1226.     The highlight bar control codes for the upload processor ANSI screen
  1227.     are as follows:
  1228.  
  1229.       @00bf~##@    1. Normal Menu Text goes here   @end@
  1230.  
  1231.       00 =  these two digits are ignored, since there is no row/column
  1232.             organization in the ULPROC.ANS screen(s).
  1233.  
  1234.       ## =  the current stage of operation, two digits as follows:
  1235.  
  1236.              01=  Examining file
  1237.              02=  Dearchiving a file
  1238.              03=  Working on embedded archives
  1239.              04=  Running external process (any of them)
  1240.              05=  Running external process 1
  1241.              06=  Running external process 2
  1242.              07=  Running external process 3
  1243.              08=  Running external process 4
  1244.              09=  Running external process 5
  1245.              0A=  Scanning for viruses
  1246.              0B=  checking for duplicates
  1247.              0C=  adding archive comment
  1248.              0D=  getting archive description
  1249.              0E=  Running external process 6
  1250.              0F=  rearchiving file
  1251.              10=  Cleaning up temporary files
  1252.              11=  Moving archive to upload directory
  1253.              FE=  done, failed
  1254.              FF=  done, passed
  1255.  
  1256.       B  =  the highlight bar background color, 0 through 9 and
  1257.             A through F
  1258.  
  1259.       F  =  the highlight bar foreground color, 0 through 9 and
  1260.             A through F
  1261.  
  1262.  
  1263.   AT CODE FORCED LENGTH
  1264.  
  1265.     For normal @ control codes (not color or highlight bar codes) a
  1266.     colon and number may be added to the end inside of the code to
  1267.     force a specific length result.  For example (using lower case
  1268.     so this may be posted in netmail), "@user:20@" would return
  1269.     "Keith Anderson      " (20 characters total) if the current
  1270.     caller's name is Keith Anderson.
  1271.  
  1272.  
  1273.   SYSOP DEFINED FLAGS
  1274.  
  1275.     They have finally been removed to make room for the sysop defined
  1276.     database fields that we started linking in today and should be a
  1277.     reality within a day or so.
  1278.  
  1279.  
  1280.   FTS
  1281.  
  1282.     The command line parameter KBBS TOSS will now work without lockup.
  1283.  
  1284.     To satisfy those that complain because there are different
  1285.     keystrokes to access the FTS functions than before, the MAILER
  1286.     menu will now automatically be selected upon entry to the KBBS
  1287.     Fido utility menu.
  1288.  
  1289.     In the TIC area setup, it really DOES default to the "MAIN" file
  1290.     tree now, even if the tree field is blank.
  1291.  
  1292.  
  1293.   MESSAGE BASE
  1294.  
  1295.     One last conflict between two nodes saving/tossing messages has
  1296.     been resolved... no more halts or delays.
  1297.  
  1298.     The "From" name is now checked properly using uppercase so that
  1299.     messages "Not From User" are screened out properly.
  1300.  
  1301.  
  1302.   USER EDITOR
  1303.  
  1304.     No more having to rebuild conference HI/LO, etc, after editing a
  1305.     user record!  We found the stray pointer.
  1306.  
  1307.     New utilities to import/export KBBS user databases has been
  1308.     added.
  1309.  
  1310.  
  1311.   SEQ ADDITIONS
  1312.  
  1313.     ATTACHEDFILE :string  (variable)
  1314.  
  1315.       Allows access to the name of the file attached to the current
  1316.       message.  Only a 12 character name is allowed (name and
  1317.       extension) since the file must always reside in the ATTACHPATH
  1318.       directory (ATTACHPATH is a variable of type Path).
  1319.  
  1320.     ATTACHEDREALNAME :string (variable)
  1321.  
  1322.       This is the real name of the file attached to the current
  1323.       message.  Because two files with the same name could be
  1324.       attached to different messages, one or both must be renamed
  1325.       before being stored in the ATTACHPATH directory.  The real
  1326.       name is stored in this field, and is used to rename the file
  1327.       back to its real name when retrieved from the attach directory.
  1328.  
  1329.     QUEUEFTSPOLL( <address>, <echomail> );
  1330.  
  1331.       <address> is of type string, in a standard fidonet address
  1332.       format of x:yyy/zzz, and <echomail> is of type boolean.
  1333.  
  1334.       This adds a poll request to the queue for the specified
  1335.       address.  If <echomail> is TRUE, echomail will be delivered
  1336.       with the poll event.
  1337.  
  1338.     FREQFILE( <address>, <priority>, <name>, <password>, <date> );
  1339.  
  1340.       <address> is of type string, in a standard fidonet address
  1341.       format of x:yyy/zzz, <name> and <password> are of type string,
  1342.       <date> is of type date, time or integer.
  1343.       <priority> is of type CHAR with possible values of
  1344.  
  1345.         "I" immediate
  1346.         "C" crash (direct, economy time)
  1347.  
  1348.       This adds an FTS File REQuest to the FTS queue to the above
  1349.       address, or adds the request to an entry already in the queue
  1350.       to the specified address.
  1351.  
  1352.       If no password is needed, use "" (nul).  If no date is needed,
  1353.       use 0 (zero).
  1354.  
  1355.     SENDFTSFILE( <address>, <priority>, <path>, <deleteafter>, <message> );
  1356.  
  1357.       <address> is of type string, in a standard fidonet address
  1358.       format of x:yyy/zzz, <path> is of type string.  <priority> is
  1359.       of type char:
  1360.  
  1361.         "I" immediate
  1362.         "C" crash (direct, economy time)
  1363.  
  1364.       <deleteafter> is of type boolean:  TRUE=delete the file after
  1365.       a successful transmission.  <message> is of type boolean: TRUE=
  1366.       send a message header to the sysop of the remote system notifying
  1367.       of the enclosed file(s).
  1368.  
  1369.       Adds a SENDFILE command to the queue.  If a queue entry already
  1370.       exists to the above system, the sendfile is added to the
  1371.       existing entry in order to combine dialout events.
  1372.  
  1373.     EXECNEXTQUEUE;
  1374.  
  1375.       Executes the next FTS outbound queue entry, if any.  The
  1376.       current node MUST have a modem installed for this command
  1377.       to be successful.  Because a queue execution results in a
  1378.       recycle of the current node, this command terminates all
  1379.       SEQ execution and disconnects the current online caller,
  1380.       if any.
  1381.  
  1382.  
  1383.   SEQ PROGRAM EDITOR
  1384.  
  1385.     A second "Close" option has been added to the File menu, and some
  1386.     messages hinting to close files if running out of memory.
  1387.  
  1388.  
  1389.   Other FIXES AND ADDITIONS
  1390.  
  1391.     Message quoting has been dramatically improved in this version.
  1392.  
  1393.     When a local mode user runs out of time, things now recycle/
  1394.     shutdown properly.
  1395.  
  1396.     Text mode is now restored at the end of a RIP session.
  1397.  
  1398.     A ClearScreen is now issued before any ANSI screen menu containing
  1399.     highlight bars to insure that they are positioned correctly.
  1400.  
  1401.     Non-standard modem addresses and ports are now NOT case sensitive.
  1402.  
  1403.     When LOADUSER fails to find the specified user, KBBS will
  1404.     automatically initialize an empty user assuming a "New User"
  1405.     posture.  This should solve some problems with improper information
  1406.     getting stored in new user records.
  1407.  
  1408.  
  1409.   ZMODEM/8K
  1410.  
  1411.     Until we can narrow down the slipping blocksize problem with
  1412.     KBBS's internal Zmodem/8K, it will automatically detect the
  1413.     problem and revert to regular Zmodem after the 2nd attempt...
  1414.     in our tests, this seems to recover and proceed with the
  1415.     transfer with minimal delays.
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425. 2.00Z.20E Test Release
  1426. ---------
  1427.  
  1428.   USER DATABASE/ACCESS CHANGES
  1429.  
  1430.     The last read mail pointers and other supplemental records are
  1431.     now only loaded when needed, so the login process is a LOT faster,
  1432.     and the LOADUSER, FIRSTUSER and NEXTUSER functions are also a
  1433.     LOT faster.  There will be a slight pause the firsst time the
  1434.     pointers are accessed (when beginning to read a message, etc.)
  1435.     while KBBS loads the pointer records, but under normal operation,
  1436.     this shouldn't be very noticable.
  1437.  
  1438.     The NEXTUSER function is now functioning, and the USERDB program
  1439.     by Todd Powers is now functioning because of our bug fix.
  1440.     That USERDB.SEQ is HIGHLY RECOMMENDED and distributed with the
  1441.     KBBS archives.  Fine work, Todd!  Send us your resume. <g>
  1442.  
  1443.     The VBBS user database import has been completed.
  1444.  
  1445.     The Maximus user database import has been completed.
  1446.  
  1447.  
  1448.   FTS CHANGES, ADDITIONS, IMPROVEMENTS
  1449.  
  1450.        ***   READ THIS, IMPORTANT CHANGES HAVE BEEN MADE   ***
  1451.  
  1452.     The FTS setup code has been broken away from the main setup
  1453.     utilities to provide it with more memory to function properly.
  1454.     (Note:  all executables will be recombined with the release
  1455.     of the DOS protected mode and OS/2 versions, Z.21)
  1456.  
  1457.     Instead of using the outbound password defined in the EVENTS, a
  1458.     new picklist has been created to define all outbound passwords.
  1459.     The picklist is also used to lookup commonly used addresses
  1460.     by recipient name.  This has been placed in all outbound FTS
  1461.     windows, and SEQ commands and functions to scan the list
  1462.     have also been added (see SEQ ADDITIONS below).
  1463.  
  1464.     KBBS now uses the session password defined in the above outbound
  1465.     list in the EMSI and YOOHOO headers when receiving calls.
  1466.  
  1467.     The nodelist search engine has been given a shot of speed... it'll
  1468.     now search the big Fido nodelist in a few seconds instead of a
  1469.     few minutes.
  1470.  
  1471.  
  1472.   FIXES, UNCATEGORIZED
  1473.  
  1474.     Misc. misplacements in various screens in the utilities have
  1475.     been fixed.
  1476.  
  1477.     Another strange crosslink between Files/KB allowed per period and
  1478.     Bytes/time credit for messages posted has been fixed.
  1479.  
  1480.     The DOS Shell function will now look for the proper COMMAND.COM
  1481.     on systems with more than one operating system installed.
  1482.  
  1483.     The ANSI highlight bar menus won't crash now when the menu screen
  1484.     options don't match the underlying menu configuration (so items
  1485.     on the menu may be disabled for certain users, etc).
  1486.  
  1487.     Stray @ signs shouldn't appear in ANSI menu screens now... fixed.
  1488.  
  1489.     Display screens with complex pipe codes will now work properly
  1490.     instead of truncating and scrambling them.
  1491.  
  1492.  
  1493.   FIXES, FILE SECTION
  1494.  
  1495.     Problems with uploading have been fixed, such as name recognition,
  1496.     etc., althought the new upload processor didn't make it for this
  1497.     test release.
  1498.  
  1499.     The slash "/" has been included in the word parser for the Ksearch
  1500.     rebuilder so that words like "OS/2" can be keyworded.
  1501.  
  1502.     The following structure description file will now import:
  1503.  
  1504.       3DVCP22.ZIP 3DVCP22.ZIP Visual Calendar Planner 2.2 for Windows
  1505.       !>ASP An extremely powerful scheduler with
  1506.       !>no learning curve. MS Database engine.
  1507.       !>3d look
  1508.       ADJSHARE.ZIP ADJSHARE.ZIP AUTOGRAMMATIK I: Adjective endings <ASP>
  1509.       !>probably contains one of the most
  1510.       !>succinct explanations of German
  1511.       !>adjective endings you will see anywhere.
  1512.       !> Online dictionary too. Viel Spass!
  1513.       AJEWISH5.ZIP AJEWISH5.ZIP A Jewish Mother's Cookbook V 5.0 <ASP>
  1514.       !>Anyone who's interest in Jewish recipes
  1515.       !>will love this cookbook! "2 Thumbs Way
  1516.       !>Up" J Binder
  1517.  
  1518.     (the above example should be justified to the left, but is indented
  1519.     for this document only)
  1520.  
  1521.  
  1522.   ADDITIONS, UNCATEGORIZED
  1523.  
  1524.     A "Toggle Status Bar" has been added to the SEQ key functions.
  1525.  
  1526.  
  1527.   SEQ ADDITIONS
  1528.  
  1529.     FTSLOOKUP :boolean   (function)
  1530.  
  1531.       Works from the current message header information, searches for
  1532.       the current MESSTO in the outbound password list and sets the
  1533.       FTS Destination and password if found.  Returns TRUE if found.
  1534.  
  1535.  
  1536.     ADDFTSLOOKUP;
  1537.  
  1538.       Adds the current message header information as an outbound
  1539.       lookup entry, specifically the MESSTO name, the FTSDEST address
  1540.       and the password.  After issuing this command, the FTSLOOKUP
  1541.       function will retrieve the address and password when the name
  1542.       is provided.   Note:  this command does not look for the
  1543.       existence of an entry before adding the current one, so dupes
  1544.       will be added if FTSLOOKUP isn't polled first.
  1545.  
  1546.     UPDATEFTSLOOKUP;
  1547.  
  1548.       Similar to ADDFTSLOOKUP, this command works from the current
  1549.       message header, except it simply updates the information in
  1550.       the lookup database with the information in the header.  That
  1551.       means if someone has changed the address or password on
  1552.       the destination system, the entry for that name will be updated
  1553.       in the lookup table.  If the name is nul/blank, the specified
  1554.       address is searched and the password is updated.  If the entry
  1555.       is not found in the list, a new one is added with the
  1556.       information in the current message header.
  1557.  
  1558.  
  1559.  
  1560. 2.00Z.20D Test Release (includes Z.20B and C)
  1561. ---------
  1562.  
  1563.   RIP FIXES/IMPROVEMENTS
  1564.  
  1565.     The local RIP graphics now support any VESA superVGA card.
  1566.     If the display is not detected as supporting EGA modes, VESA
  1567.     800x600 mode will be selected, and the RIP screen (640x350)
  1568.     will be shown in the upper lefthand corner.  This should
  1569.     enable proprietary cards with software VESA drivers to
  1570.     display local RIP graphics.
  1571.  
  1572.     Local mode RIP fonts should now work in any environment.
  1573.  
  1574.     The ANSI to RIP converter is now faster and much more accurate.
  1575.  
  1576.     The ANSI to RIP scrolling has been eliminated.  When text reaches
  1577.     the bottom of the screen, the screen is cleared and text begins
  1578.     again at the top.
  1579.  
  1580.  
  1581.   FILE AREA FIXES/ADDITIONS
  1582.  
  1583.     A complete rewrite/overhaul to the file utilities has resulted
  1584.     in much more stability.  Testing will tell, however.
  1585.  
  1586.  
  1587.   OTHER FIXES/ADDITIONS (UNCATEGORIZED)
  1588.  
  1589.     The display file output engine now performs a fast read and
  1590.     allows the disk to settle before the file is sent to the
  1591.     modem.  This results in an overall faster display from the
  1592.     callers' point of view.
  1593.  
  1594.     The "Chat" SEQ Key has been expanded to include an optionally
  1595.     definable text file that will be displayed, if present, to the
  1596.     user before entering chat mode.
  1597.  
  1598.     SEQ Program execution has been cleaned up so that no more
  1599.     lockups or mis-executions happen.  This includes
  1600.  
  1601.        - SEQ keys
  1602.        - internode commanded SEQ's
  1603.        - executed from menu trees
  1604.        - the CALLSEQ command
  1605.        - the CHAINSEQ command
  1606.        - SEQ events
  1607.        - many other places
  1608.  
  1609.     The global configuration is now being updated properly when
  1610.     the related SEQ variables are altered (i.e. couldn't change
  1611.     the total number of calls on system)
  1612.  
  1613.     The compiler now skips TAB and control characters in the
  1614.     source file.
  1615.  
  1616.     If no default is specified in a menu, the highlighted bar
  1617.     is properly selected when the ENTER key is pressed (for ANSI
  1618.     mode menus)
  1619.  
  1620.     When a user runs out of time, the modem is now flushed properly
  1621.     instead of locking up some systems.
  1622.  
  1623.     The hangup process should be working properly now.  (It was
  1624.     locking up some machines if the user ran out of time)
  1625.  
  1626.     The line editor default menu is now set to Save instead of
  1627.     Continue.
  1628.  
  1629.     The login process has been corrected for alias nodes to state
  1630.     "Is your alias spelled correctly?" instead of "name."
  1631.  
  1632.     The internal file copy routines will no longer use XMS or EMS
  1633.     memory if running under OS/2.  This speeds up the copy operation
  1634.     by keeping OS/2 from enlarging the swap file, etc.
  1635.  
  1636.     In Setup, Nodes, the Line Monitor toggle is now working, and
  1637.     the USE FIFO toggle is no longer crossedlinked with it.
  1638.  
  1639.     Changes made to the global setup from within the SEQ are
  1640.     now saved to disk properly.
  1641.  
  1642.     The recursive archive setup field is now pointing to the
  1643.     correct data.
  1644.  
  1645.     The "Upload Text" function in the full screen editor no
  1646.     longer wraps long lines in order to preserve ANSI screens.
  1647.  
  1648.     The distictive ring initiates a recycle if the incorrect
  1649.     ring is detected.
  1650.  
  1651.  
  1652.   FTS FIXES AND ADDITIONS
  1653.  
  1654.     The last scanned pointer file system has been changed to match
  1655.     the speed and reliability of the regular last read pointers
  1656.     in the main BBS.  Hence, this is a one-way upgrade, but more
  1657.     stable than previous versions.
  1658.  
  1659.     BIG BUG:  If an incoming FTS caller was using an address of
  1660.     0:0/0, the first record in the FTS User list was selected
  1661.     (because of the blank secondary address fields) and their
  1662.     mail was delivered to the anonymous caller... this has been
  1663.     fixed!
  1664.  
  1665.     The magic name processor for FTS file requests will now handle
  1666.     wildcards within a magic name setup properly.  Previously they
  1667.     were being rejected as not found.
  1668.  
  1669.     Global FREQ directories are now working properly.
  1670.  
  1671.     The FTS User "Pause" toggle is now working correctly.
  1672.  
  1673.  
  1674.   DOOR ADDITIONS
  1675.  
  1676.     Three more door drop file types have been added:
  1677.  
  1678.       Code    BBS type         Filename
  1679.  
  1680.       8       Pheonix          INFO.BBS
  1681.       9       Spitfire         SFDOORS.SYS
  1682.       A       2AM              JUMPER.DAT
  1683.  
  1684.  
  1685.   SEQ PROGRAM EDITOR
  1686.  
  1687.     We have rebuilt the SEQ program editor again and eliminated the
  1688.     Turbo Vision libraries.  The result is a less buggy editor with
  1689.     less memory constraints and the ability to open unlimited files
  1690.     simulteneously when we release the protected mode (Z.21)
  1691.     version.
  1692.  
  1693.     Additional fixes were made to the editor window to allow the
  1694.     menu bar to remain visible at the top in 80x25 text mode, and the
  1695.     editor window's side lines have been eliminated to expand the
  1696.     editable region by 2 more characters.
  1697.  
  1698.  
  1699.   CORRUPT INDEX DETECTION
  1700.  
  1701.     The balanced trinary tree engine that keeps track of just about
  1702.     everything in KBBS now has a corrupt index detection subroutine
  1703.     that will keep KBBS from locking up if an index file is corrupt.
  1704.     Because of the frequency in which this routine is called, we're
  1705.     currently unable to pass the corruption status to the sysop, but
  1706.     it simply shuts down the tree processes, ignoring the read/write
  1707.     requests...  if you notice that KBBS isn't finding files, blocking
  1708.     dupe messages, finding users, etc., then rebuild that particular
  1709.     index.  We'll be adding some kind of status passing method
  1710.     at a later date.
  1711.  
  1712.     We tested this pretty extensively by removing lock control from
  1713.     the indexer and allowed 5 nodes to write to the index
  1714.     simluteneously, corrupting it to bits...  KBBS eventually ingored
  1715.     the index, where before it would have locked up tight.
  1716.  
  1717.  
  1718.   ANSI HIGHLIGHT BAR MENUS
  1719.  
  1720.     When using ANSI display screens for menus (in the "Sysop
  1721.     defined display menus" in the menu tree or the optional
  1722.     display screen parameter for the MENU statement) a new
  1723.     @ code sequence may be added to the ANSI screen to enable
  1724.     KBBS's internal highlight bars on the ANSI screen itself.
  1725.  
  1726.     In each location where you want a highlight bar to be
  1727.     displayed, the following @ code syntax must be used:
  1728.  
  1729.       @xyBF~key@    1. Normal Menu Text goes here   @end@
  1730.  
  1731.     where
  1732.  
  1733.       x     the menu column, a number between 1 and 4 inclusive
  1734.  
  1735.       y     the menu row, a number from 1 to 9, then A (10)
  1736.             to I (18)
  1737.  
  1738.       B     the highlight bar background color, 0 through 9 and
  1739.             A through F
  1740.  
  1741.       F     the highlight bar foreground color, 0 through 9 and
  1742.             A through F
  1743.  
  1744.       key   the key that activates the menu selection,
  1745.             corresponding to the actual menu configuration in the
  1746.             menu tree or MENU statement.  If this key doesn't
  1747.             exist in the menu configuration, the user will be able
  1748.             to highlight the selection but not actually select it.
  1749.             If a select exists in the menu configuration but not
  1750.             defined on the ANSI screen, the user will be able to
  1751.             select that option by pressing the keys directly.
  1752.             (After a long night of working on this, I think I've
  1753.             lost my English... I'll come back and try to explain
  1754.             this better at another time.)
  1755.  
  1756.     Note:  when assigning the x and y values, make sure they are
  1757.            contiguous.  For example, KBBS won't skip from column
  1758.            1 to 3 if column 2 doesn't exist.
  1759.  
  1760.     Each highlight bar terminates at the @end@ or at the end of
  1761.     the current ANSI line, whichever comes first (NOTE: "@end@"
  1762.     must be in upper case, but shown here in lower case so this
  1763.     file may be posted online).
  1764.  
  1765.     When the ANSI screen menu is displayed (it must be a display
  1766.     screen with an extension of .ANS), if any highlight bar codes
  1767.     exist in the menu, the highlight bar option is automagically
  1768.     activated.  A highlight bar will be placed on the default
  1769.     menu selection, or on column 1 row 1 if no default was
  1770.     defined.  The left-right cursor keys transvers the columns
  1771.     and the up-down keys transvers the rows.  The ENTER key will
  1772.     then select the currently highlighted menu item.
  1773.  
  1774.     This whole process adds a small delay before any ANSI menu is
  1775.     displayed.
  1776.  
  1777.     (A sidenote, a utility in ARIdraw will simplify the
  1778.     construction of KBBS ANSI menus.  We will be testing ARIdraw
  1779.     with a limited number of registered sysops in October)
  1780.  
  1781.  
  1782.   NEW SEQ RESERVED VARIABLES
  1783.  
  1784.     SCROLLLOCK :boolean
  1785.     NUMLOCK :boolean
  1786.     CAPSLOCK :boolean
  1787.  
  1788.        These three variables poll for and set the state of the
  1789.        scroll lock, num lock and caps lock respectively.   This
  1790.        only affects the hardware running the current node and
  1791.        has no affect on the remote caller.
  1792.  
  1793.  
  1794.   NEW SEQ COMMANDS AND FUNCTIONS
  1795.  
  1796.     STRIPANSI( <instring> ) :string   (function)
  1797.  
  1798.       <instring> is of type string.
  1799.  
  1800.       Returns a string of the parameter with the ANSI codes removed.
  1801.       Does not account for any cursor movement sequences EXCEPT the
  1802.       Cursor Right (C) sequence, which is converted to spaces.
  1803.  
  1804.  
  1805.  
  1806. 2.00Z.20A Test Release
  1807. ---------
  1808.  
  1809.   LEFT OUT:  Due to the time taken to get our system back up,
  1810.      we just removed major new additions that had problems
  1811.      rather than delay the release any longer.  The following
  1812.      will be debugged and ready for the next release:
  1813.  
  1814.        - New highlight bar based file, door, bulletin and
  1815.          conference trees
  1816.  
  1817.        - ANSI screen highlight bar menus
  1818.  
  1819.        - new upload processor...  the new upload processor was
  1820.          having problems so we put the old code back in for
  1821.          this release.  A follow up patch release will come
  1822.          soon that will have the new code fixed, which
  1823.          includes the .TIC support working and the file
  1824.          utility level upload processor.
  1825.  
  1826.  
  1827.   IMPORTANT FTS CHANGE MADE:
  1828.  
  1829.     The FREQ directory no longer exists, but has been replaced
  1830.     by a picklist setup of directories.  You must enter your
  1831.     old directory in the new list for these types of FTS file
  1832.     requests to resume operation.
  1833.  
  1834.  
  1835.   SEQ ENCRYPTION
  1836.  
  1837.     (testing this encryption is critical... please report any SEQ
  1838.      FAULTs that any occur, and how to reproduce them)
  1839.  
  1840.     To protect against the threat of a SEQ executable decompiler,
  1841.     we have added a statement:
  1842.  
  1843.       SEQENCRYPTION "<encryptkey>"
  1844.  
  1845.     <encryptkey> is any number of characters placed between a set of
  1846.     double quotes.  Characters not allowed in the encryption key:
  1847.  
  1848.       "           (a double quote, used to terminate the key)
  1849.       (* or *)    comment characters
  1850.       { or }      comment characters
  1851.       /* or */    comment characters
  1852.  
  1853.     Examples of valid encryption key statements:
  1854.  
  1855.       SEQENCRYPTION "This is my encryption key!!"
  1856.       SEQENCRYPTION "908734 923 498249823498239 87239 8723"
  1857.       SEQENCRYPTION "ùí½╡ñº¿Æ£░║─äåçΩ±√ÇüGQ\"
  1858.       SEQENCRYPTION "It was Andy's fifth birthday and his parents
  1859.          were getting ready to take him out for a movie.  His
  1860.          mother told Andy to pack a snack for himself in her purse
  1861.          to have during the show.  The mother assumed he'd put
  1862.          in a granola bar or cookie...Later, in the theater, Andy
  1863.          leaned over to his mother and whispered...'Mom, may I
  1864.          have my ice-cream sandwich now?'"
  1865.  
  1866.     This must come absolutely first in the SEQ program, before any
  1867.     DEFINE, STRUCT or any other statements except comments.
  1868.     Encrypted SEQ programs may call non-encrypted SEQ's and vice-
  1869.     versa.  SEQ execution speed is not affected by the size,
  1870.     presence or absence of an encryption key.
  1871.  
  1872.     Z.20 or later is REQUIRED for all encrypted SEQ programs, or
  1873.     KBBS will abort with a SEQ Program Fault.  A SEQ is not
  1874.     encrypted (other than the usual compression) if the
  1875.     SEQENCRYPTION statement isn't present.  Z.20 and all versions
  1876.     in the future will still execute SEQ's from all past versions.
  1877.  
  1878.  
  1879.   INTERKERNEL
  1880.  
  1881.     The internode kernel has been reworked to work faster and not
  1882.     cause exception errors on some systems, specifically those
  1883.     running OS/2 (our shared-memory trick wasn't working with
  1884.     some versions of Warp the way it was supposed to).
  1885.  
  1886.  
  1887.   FIXES
  1888.  
  1889.     The internode chat should be working properly in this release...
  1890.  
  1891.     File locking conflicts in message importing have been resolved.
  1892.  
  1893.     ANSI reading online has been fixed.
  1894.  
  1895.     The PCBOARD.SYS drop file type is now working correctly.
  1896.  
  1897.     New full screen editor code in this version... no more wrapping
  1898.     line problems, lines left behind, extra lines, etc. etc. etc.
  1899.  
  1900.     The ESCAPE key in the editors' menus doesn't save the message.
  1901.  
  1902.     The LASTMAINBULL and LASTBULL variables, if altered, will now
  1903.     be properly updated in the user record on the next call.  When
  1904.     accessed, these variables always return the date/time of what
  1905.     they were set to on the LAST call.
  1906.  
  1907.     Sometimes if an error occurred online, KBBS would drop to the DOS
  1908.     prompt rather than recycle.  This has been fixed.
  1909.  
  1910.     FOSSIL support has been reverted to its state before Z.19.  The
  1911.     fixes we made evidentally made QEMM systems abort and some DOS
  1912.     systems lockup.
  1913.  
  1914.     The parallel file that now holds personal mail flags was being
  1915.     enlarged improperly, flagging users for mail in conferences
  1916.     where they didn't have any.  This has been fixed.
  1917.  
  1918.  
  1919.   IMPROVEMENTS
  1920.  
  1921.     The limit on the maximum dials and failures for FTS mailer
  1922.     calls has been increased to 255.  We still don't know why
  1923.     it was limited to 20.
  1924.  
  1925.     The highlight bar in the dynamic menus show up regardless
  1926.     of a default menu option.
  1927.  
  1928.     Message passwording has been completely removed due to lack
  1929.     of support from QWK and other offline message formats.  The
  1930.     reserved variable MESSPW is still support, although it always
  1931.     returns NUL and assignments are ignored.
  1932.  
  1933.  
  1934.   FTS ADDITIONS AND IMPROVEMENTS
  1935.  
  1936.     The Global FREQ directory and password have been replaced by
  1937.     a picklist of File Request Directories in the FTS Setup menu.
  1938.  
  1939.  .... LAST MINUTE NOTE:  The .TIC test crashed a machine with the
  1940.       release version, so we disabled functionality for the
  1941.       TESTZ20A version.  We will diagnose the problem and
  1942.       release follow-up patch with this support enabled.
  1943.  
  1944.     Basic receive-only .TIC file support has now been added.  TIC
  1945.     files are simply placed in their proper file subjects as
  1946.     defined in the new .TIC file setup.  .TIC hatching and echoing
  1947.     will follow in the next test version.  The setup for this is as
  1948.     follows:
  1949.  
  1950.       - In the FTS SETUP menu, a new picklist named .TIC
  1951.         AREA SETUP defines what file area subjects .TIC files
  1952.         are placed in when received.
  1953.  
  1954.       - In the GLOBAL FTS SETUP, the .TIC UNDEFINED AREA
  1955.         field defines where received files are placed if
  1956.         they don't match any of the defined TIC subjects
  1957.  
  1958.     The FTS Send Files process both in the FTS menu and in the
  1959.     Event setup now contains a toggle to optionally send or not
  1960.     send the "The following files have been sent" message to the
  1961.     destination sysop.
  1962.  
  1963.     A new field has been added to the FTS User setup (which requires
  1964.     upgrading to the database) that allows you to define ALLOWED
  1965.     AREAS.  Toggling off the areas in that picklist make them
  1966.     invisible to that FTS user--they don't show up in Areafix lists,
  1967.     and the user isn't allowed to turn them on, etc.  All toggles
  1968.     default to ON.
  1969.  
  1970.     Tossing of KBBSFido (areafix) packets is done immediately when
  1971.     received, and the reply packet is immediately sent to the sender
  1972.     in the same session.
  1973.  
  1974.     New areafix support has been added, replacing the old, faulty
  1975.     and inadequate support.  References to "Areafix" have been
  1976.     changed to "KBBSFido" due to potential trademark issues with
  1977.     the name "Areafix."  The following is the help reply that you
  1978.     get when you send a message of %HELP to the new AREAFIX:
  1979.  
  1980.       Address all requests to 'KBBSFido', 'Areafix', 'GEcho',
  1981.       'AreaMgr' or 'ConfMgr' (without quotes).  The subject
  1982.       should contain your Areafix password.
  1983.  
  1984.       In the body of the message:
  1985.  
  1986.       [+]<areaname>        Turn ON an area (wildcards allowed).
  1987.       -<areaname>          Turn OFF an area (wildcards allowed).
  1988.       %HELP                This help text is sent.
  1989.       %LIST                Reply with a list of areas available.
  1990.       %QUERY               Reply with a list of ON areas.
  1991.       %UNLINKED            Reply with a list of a OFF areas.
  1992.       %PWD <password>      Change your AreaFix password.
  1993.       %PKTPWD <password>   Change your Packet password.
  1994.       %RESCAN <mm/dd/yy>   Rescan all ON areas starting with specified date.
  1995.       %PAUSE               Suspend all scanning.
  1996.       %RESUME              Resume all scanning.
  1997.       [---]                An optional tear line may be added.  Everything
  1998.                            below the tear line is ignored.
  1999.  
  2000.       An example of an KBBSFido request:
  2001.  
  2002.          From:  Your name
  2003.            To:  Areafix
  2004.            Re:  Yourpassword
  2005.          -------------------------------------------------
  2006.          +ARI*
  2007.          -ARI_OFF_TOPIC
  2008.          %LIST
  2009.          %resume
  2010.          %ReScan 08/14/95
  2011.  
  2012.  
  2013.   ADDITIONS
  2014.  
  2015.     The line monitor has been permanently attached via a toggle
  2016.     in the modem setup
  2017.  
  2018.     An INSERT mode indicator has been added to the top of the
  2019.     full screen editor.
  2020.  
  2021.     Four new conference level fields, and SEQ variables
  2022.     representing these fields have been added:
  2023.  
  2024.       EMPTYSUBJECT :boolean
  2025.  
  2026.         For USEnet newsgroups and other special needs conferences,
  2027.         this allows messages without subjects to be saved in a
  2028.         conference if set to TRUE.
  2029.  
  2030.       FORCETOALL :boolean
  2031.  
  2032.         For USEnet newsgroups and other special needs conferences,
  2033.         KBBS forces the TO field to "ALL" if set to TRUE.
  2034.  
  2035.       FORCEANON :boolean
  2036.  
  2037.         For special needs conferences, the FROM field is forced
  2038.         to "ANONYMOUS" if TRUE.
  2039.  
  2040.       FREEFROM :boolean
  2041.  
  2042.         For special needs conferences, anything is allowed in
  2043.         the FROM field if set to TRUE.
  2044.  
  2045.  
  2046.  
  2047. 2.00Z.19D QUICK FIX
  2048. ---------
  2049.  
  2050.   FIXES
  2051.  
  2052.     All carriage returns were being stripped from messages in
  2053.     QWK packets.
  2054.  
  2055.     The message reader had major problems... now fixed.
  2056.  
  2057.     The chat engine would ignore the local keyboard or anything
  2058.     transmitted from a remote node, unless operating in local
  2059.     mode.
  2060.  
  2061.  
  2062.  
  2063. 2.00Z.19
  2064. --------
  2065.  
  2066.   ENCRYPTION
  2067.  
  2068.     The user database encryption has not been installed.  This
  2069.     version will startup first by prompting for an encryption
  2070.     code and then encrypting the user database.  The entire
  2071.     user database is encrypted with this key, so DON'T LOSE IT.
  2072.  
  2073.  
  2074.   ADDITIONS
  2075.  
  2076.     New fossil support has been added to better detect and handle
  2077.     fossil drivers under Desqview and other multitaskers.
  2078.  
  2079.     Exceptions have been added to the FTS netmail routing that
  2080.     allow routing to a certain node for certain zones/nets except
  2081.     mail to certain nets and/or nodes.
  2082.  
  2083.     A Flag Files option has been added to the menu tree.
  2084.  
  2085.     The dynamic menus have changed considerably.  They are now decent
  2086.     and presentable (unlike the previous crummy menus) and have the
  2087.     following features:
  2088.  
  2089.       - in ANSI mode, cursor keys may be used to select the menu
  2090.         using a highlight bar.  The spacebar also moves the highlight
  2091.         bar around the menu
  2092.  
  2093.       - They are now under control of the MENUPALETTE command...
  2094.         see below.
  2095.  
  2096.     There are some systems that, in upgrading from version to version
  2097.     for months, the serial numbers that keep users from receiving their
  2098.     own messages have been corrupted.  A re-serialize utility has been
  2099.     added to the USERS menu in the sysop utilities to reserialize the
  2100.     user database, FTS users and QWK .NET files.
  2101.  
  2102.  
  2103.   FIXES
  2104.  
  2105.     Messages with long lines are now handled properly.
  2106.  
  2107.     ANSI is now maintained properly between all mail mediums in
  2108.     conferences that allow ANSI.
  2109.  
  2110.     Online message passwording has been removed, since QWK/FTS
  2111.     mail doesn't provide for any security on a message-by-message
  2112.     basis anyway.
  2113.  
  2114.     External protocol parameter replacement has been fixed.
  2115.  
  2116.     PERSONAL MAIL FLAGS should be working now!  it was a dumb programming
  2117.     error that caused this one... just one that was hard to find.
  2118.  
  2119.     Another small bug in the internal Zmodem might have caused problems
  2120.     sending large files, but unsure about this.
  2121.  
  2122.     Problems with the COMPILE command line parameter have been fixed.
  2123.  
  2124.     The problem with infinitely expanding bulletin files has been
  2125.     fixed... although more testing will prove this.
  2126.  
  2127.     To keep problems from occurring when using the LOADUSER,
  2128.     FIRSTUSER and NEXTUSER functions, time is suspended until
  2129.     the STARTUSER command is issued, if ever.  This makes it
  2130.     so temporary loads of other user records don't subtract time
  2131.     from them.  NOTE!  The new variable SUSPEND (boolean) controls
  2132.     whether or not time is suspended.  If you use LOADUSER to
  2133.     retrieve another user's record, then restore the current user's
  2134.     record back with another LOADUSER command, you must set SUSPEND
  2135.     to FALSE!
  2136.  
  2137.     The PCBOARD.SYS drop file set has been fixed.
  2138.  
  2139.     The CHAIN.TXT drop file has been fixed to put the correct
  2140.     name in the Real Name field.
  2141.  
  2142.     The optional file flagging failure screens are now working
  2143.     properly...  testing will prove whether this is true.
  2144.  
  2145.     External protocols should be working again, although not
  2146.     completely tested.
  2147.  
  2148.     The ALT-M (Move Files/Subjects) in the file tree has been fixed.
  2149.  
  2150.     The CHOOSEPROTO command's optional parameter will now correctly
  2151.     display an ANSI, RIP or ASCII file in place of the generic menu.
  2152.  
  2153.     Files attached to inbound FTS messages are now left attached
  2154.     properly.
  2155.  
  2156.     In the Console Screen editor, the fields picklist (when adding
  2157.     fields) would take some systems up to 30 minutes to sort the
  2158.     list, giving the illusion that it was locked up.  (Well, it may
  2159.     as well have been locked up for all of the usefulness it had.)
  2160.     The list is now presorted and displayed in 5 seconds on those
  2161.     same systems.
  2162.  
  2163.     The DELETE TAGGED FILES in the file tree is now working.
  2164.  
  2165.     The "Run user database packer in foreground" is now working.
  2166.  
  2167.     The "Shutdown KBBS" event will now properly leave the modem
  2168.     off hook according to the settings.
  2169.  
  2170.     The ALT-R in the event setup will now execute any event.
  2171.  
  2172.     Some problems causing QWK prescans to not launch have been fixed.
  2173.  
  2174.     Timeslices weren't being yielded properly in the dialer... this
  2175.     has been fixed.
  2176.  
  2177.     Bad ratios are now actively enforced: users can no longer flag files
  2178.     that will exceed the bad ratio (except free files, of course).
  2179.     Before, KBBS would let them flag forever then drop their access
  2180.     on the next call.... this was causing some problems and a rewrite
  2181.     was necessary to fix the whole thing to work as advertised.
  2182.  
  2183.     The LOADUSER, FIRSTUSER and NEXTUSER functions have been fixed
  2184.     to reset node status variables properly.
  2185.  
  2186.     We FINALLY found a bug in the Zmodem that would cause certain
  2187.     terminals to not recognize the autostart sequence... stupid
  2188.     prgrammer error.
  2189.  
  2190.     The status bar toggle has been fixed.
  2191.  
  2192.     Exported NET REP packets and other packets are now producing packets
  2193.     without corruption.  (We found that on systems with less than 262K
  2194.     of EMS or XMS available at initialization of a NEW .REP packet, KBBS
  2195.     was dumping exactly 16256 bytes of garbage after the REP header.
  2196.     This has been fixed.)  This was a virtual memory management problem
  2197.     and could have affected other areas in unpredictable ways that we
  2198.     may not have recognized.
  2199.  
  2200.     The Ksearch rebuilder is now working properly.  Two crucial files
  2201.     were left incomplete that would cause the actual search to return
  2202.     a result of 0 files found.
  2203.  
  2204.     The screen object switcher has been fixed so that crashes don't
  2205.     occur when executing SEQ keys and other SEQ programs chained from
  2206.     edit screens, message reading, menus, editors, etc.  (Field
  2207.     testing will prove whether this was really fixed or not....)
  2208.  
  2209.     Problems with sharing the dupe message index between nodes has
  2210.     been fixed.
  2211.  
  2212.  
  2213.   EXECUTABLE CHANGES
  2214.  
  2215.     The KBBSPROG, KBBSFILE and KBBSUTIL programs have been modified to
  2216.     include their own initialization code, which means you can execute
  2217.     them directly.  Parameters are ignored.  The purpose of this is
  2218.     to reduce memory requirements even further on cramped systems.
  2219.     Parts of these modules are still called from the main KBBS.EXE
  2220.     when necessary, and all KBBS parameters remain the same.
  2221.  
  2222.       KBBSPROG:  just like entering PROGRAMMING from the sysop utilities
  2223.  
  2224.       KBBSFILE:  just like entering TREES, FILES from the sysop utilities
  2225.  
  2226.       KBBSUTIL:  just like typing KBBS at the prompt with no parameters
  2227.  
  2228.  
  2229.   IMPROVEMENTS
  2230.  
  2231.     When adding conferences, the default number becomes the next unused
  2232.     conference number after the last conference added.
  2233.  
  2234.     The SEARCHFILES command (with the Ksearch index) has been modified
  2235.     to NOT ask "view the list" when files are found.  Instead, the
  2236.     number of occurrances found are placed in the title at the top
  2237.     and the list is displayed immediately.
  2238.  
  2239.     The conference list loader has been sped up a little to reduce the
  2240.     delay before the conference list is displayed.
  2241.  
  2242.     The spinning cursor thread's speed has been increased to give the
  2243.     effect of more going on during certain waits.  (Yes, it's silly)
  2244.  
  2245.     If only one conference is setup for scanning and it's the current
  2246.     conference, the conference list is aborted and the above conference
  2247.     is selected automatically for reading.  If no conferences are
  2248.     configured for scanning, the current conference is automatically
  2249.     selected.
  2250.  
  2251.  
  2252.   NEW VARIABLES
  2253.  
  2254.     COMPRESSED :boolean
  2255.  
  2256.       Set this to TRUE for compressed dynamic menus, set it to FALSE
  2257.       for normal dynamic menus.
  2258.  
  2259.     SUSPEND :boolean
  2260.  
  2261.       If set to TRUE, time stops counting down for the current user.
  2262.       The LOADUSER, FIRSTUSER and NEXTUSER commands set this to TRUE.
  2263.       The STARTUSER, LOGIN, etc. commands set this to FALSE.
  2264.  
  2265.     REPLYQUOTE :string[3]
  2266.  
  2267.       Up to three characters to be used by EDITMESSAGE following
  2268.       REPLYMESSAGE to quote the current message.  It is set to
  2269.       the message author's initials and the ">" character when
  2270.       REPLYMESSAGE is called, but may be changed at that point
  2271.       before calling EDITMESSAGE to use a different quote prefix.
  2272.  
  2273.  
  2274.   NEW SEQ COMMANDS AND FUNCTIONS!
  2275.  
  2276.     MENUPALETTE( <c1>, <c2>, ... <c16> );
  2277.  
  2278.       All 16 parameters are of type byte.
  2279.  
  2280.       Note:  all 16 parameters are required!
  2281.  
  2282.       This command changes the color scheme used by all subsequent
  2283.       dynamic menus.  16 parameters are required, defined as follows.
  2284.       In the current version, this only affects ANSI menus.  RIP links
  2285.       will be made to this command for the next version.
  2286.  
  2287.                                               Min   Max  Default
  2288.         c1  = title foreground                 0     15   15
  2289.         c2  = title background                 0      7    7
  2290.         c3  = screen background                0      7    0
  2291.         c4  = menu key foreground              0     15    9
  2292.         c5  = menu key background              0      7    7
  2293.         c6  = menu description foreground      0     15    0
  2294.         c7  = menu description background      0      7    7
  2295.         c8  = menu border                      0      7    7
  2296.         c9  = menu shadow                      0     15    8
  2297.         c10 = Selected foreground              0     15   15
  2298.         c11 = Selected background              0      7    1
  2299.         c12 = reserved, should be set to 0
  2300.         c13 = reserved, should be set to 0
  2301.         c14 = reserved, should be set to 0
  2302.         c15 = reserved, should be set to 0
  2303.         c16 = reserved, should be set to 0
  2304.  
  2305.       The color values are the standard DOS RGB as follows:
  2306.  
  2307.       Black      0      Blue       1       Green      2      Cyan       3
  2308.       Red        4      Magenta    5       Brown      6      LtGray     7
  2309.  
  2310.       DarkGray   8      LtBlue     9       LtGreen   10      LtCyan    11
  2311.       LtRed     12      LtMagenta 13       Yellow    14      White     15
  2312.  
  2313.  
  2314.     LISTPALETTE( <c1>, <c2> ... <c16> );
  2315.  
  2316.       This is exactly the same as MENUPALETTE, but governs the colors
  2317.       in the lists.  Although programs using this command in this version
  2318.       will compile and run, this command has been left unlinked until
  2319.       more testing is performed.  (i.e. it has no effect in this version)
  2320.       More information will be posted in the following version when it
  2321.       is operational.
  2322.  
  2323.  
  2324.     REGISTERINDEX( <index>, <description> );
  2325.  
  2326.       <index> is of type filename, <description> is of type string
  2327.  
  2328.       This command is used to "register" or make KBBS aware of a
  2329.       collection of indexes to use in subsequent index commands
  2330.       and functions, such as SEARCHFILES(%); where % represents
  2331.       all of the indexes registered using this command.  <index>
  2332.       is the name of the index, and <description> is a name or
  2333.       description of the index to display to the user, and has
  2334.       a maximum valid length of 70 characters.  If an index already
  2335.       exists in the list by the same name, the command is ignored.
  2336.  
  2337.       This command is GLOBAL, meaning registered indexes are
  2338.       valid for all subsequent SEQ programs in a session, not
  2339.       just for the current index.
  2340.  
  2341.       If no indexes have been defined, and the % parameter is
  2342.       used in index areas, the "MAIN" index is assumed.
  2343.  
  2344.  
  2345.     CLEARREGISTER;
  2346.  
  2347.       This command clears out the list of indexes defined by calls
  2348.       to REGISTERINDEX.  If no indexes have been added using
  2349.       REGISTERINDEX, this command has no effect.  If the %
  2350.       parameter is used with no indexes defined, the MAIN index
  2351.       is assumed.
  2352.  
  2353.  
  2354.     PAGING( <nodenum> ) :boolean
  2355.  
  2356.       <nodenum> is of type byte.
  2357.  
  2358.       This function returns TRUE if the user on the remote node
  2359.       NODENUM is currently paging the sysop.
  2360.  
  2361.  
  2362.     CHATWITH( <nodenum> );
  2363.  
  2364.       <nodenum> is of type byte.
  2365.  
  2366.       Performs a private, one-on-one chat with the remote node number
  2367.       <nodenum>.  This is identical to the direct sysop chat (defined
  2368.       in the SEQ keys) but is between two users that are online.
  2369.       KBBS will attempt to connect and chat with <nodenum> for 15
  2370.       seconds before timing out and aborting.  No message is displayed
  2371.       to the user during connection protocol establishment.
  2372.  
  2373.  
  2374.   EXTENDED COMMANDS
  2375.  
  2376.     The following commands have been extended to use the % parameter
  2377.     in place of the <index> in order to make use of multiple indexes
  2378.     defined by the REGISTERINDEX command:
  2379.  
  2380.     FLAGFILE( <index>, <file> );
  2381.  
  2382.       Example: FLAGFILE(%,'FILELIST.ZIP');
  2383.  
  2384.       When flagging <file> using an <index> of %, the first occurrance
  2385.       of <file> in the list of indexes will be flagged.
  2386.  
  2387.  
  2388.     DOWNLOADBATCH( <index> );
  2389.  
  2390.       Example: DOWNLOADBATCH(%);
  2391.  
  2392.       The normal process of this command is to prompt the user to
  2393.       enter additional filenames to include in the download batch.
  2394.       The first occurrance in the list of indexes of any files
  2395.       entered by the user will be flagged.
  2396.  
  2397.  
  2398.     SEARCHFILES( <index>, <searchspec> );
  2399.  
  2400.       Example: SEARCHFILES(%);
  2401.  
  2402.       This command has been extended to search through all of the
  2403.       indexes defined using the REGISTERINDEX command.
  2404.  
  2405.       IMPORTANT NOTE:  when using SEARCHFILES with multiple indexes,
  2406.       the Ksearch databases MUST exist for the specified indexes...
  2407.       the slow search is NOT performed unless only a single index
  2408.       is specified or registered!
  2409.  
  2410.     In the menu tree (Trees, Menus), the DOWNLOAD BATCH function that
  2411.     may be defined as a menu selection may also use multiple indexes
  2412.     by using % as the name of the index.
  2413.  
  2414.  
  2415. Z.1818
  2416. ------
  2417.  
  2418.   FIXES
  2419.  
  2420.     The doors are now working properly
  2421.  
  2422.     The loss of global setup information has been fixed when KBBS
  2423.     switches between modules (specifically, the loss of CD ROM setup)
  2424.  
  2425.     A crash problem when overflowing time/date fields (the sysop
  2426.     utilities) has been fixed.
  2427.  
  2428.     Some work has been done to last read mail pointers, personal mail
  2429.     flags, security level movement and the user database editor,
  2430.     indexer and other areas.  If you were having problems with empty
  2431.     users showing up in the user database editor, reindex the users
  2432.     and it they should disappear.
  2433.  
  2434.  
  2435.   ADDITIONS
  2436.  
  2437.     A new path index corruption rebuild utility has been added to
  2438.     put files back online after a major corruption or major hard
  2439.     disk reconfiguration.
  2440.  
  2441.     A utility to delete all files in the index with a specific CD
  2442.     ROM id has been added... to take old CD ROM's out of the index.
  2443.  
  2444.  
  2445.  
  2446. Z.1817
  2447. ------
  2448.  
  2449.   ADDITIONS
  2450.  
  2451.     KBBSDIAG has been integrated into the sysop utilities archive
  2452.     and is now activated by typing KBBS DIAG at the prompt.  It's
  2453.     a faster version that the old KBBSDIAG, but it still produces
  2454.     a KBBSDIAG.LOG that we request that people with problems upload
  2455.     to us.
  2456.  
  2457.     Support for the TRIBBS.SYS door drop file has been added
  2458.  
  2459.     To assist some old-Rockwell chip based modems send commands
  2460.     properly, the COMMANDWRITE command has been altered to send
  2461.     the characters to the modem with a 3 millisecond delay between
  2462.     each character.  No other modem I/O is affected by this.
  2463.  
  2464.     The ALT-R "Run Door" key in the door setup will now execute the
  2465.     SEQ's defined to execute before and after the door, so the
  2466.     sysop can get the full picture of the process.
  2467.  
  2468.  
  2469.   FILE AREA AND UTILITIES
  2470.  
  2471.     File flagging should work in long lists the wrap back to "A" and
  2472.     previous wrong-file flagging has been fixed (run the Name Index
  2473.     rebuilder if it's still happening on your system with this version).
  2474.  
  2475.     A lot of recoded utilities are being placed online in this version,
  2476.     specifically the rebuilders and some of the online stuff in order
  2477.     to add stability and speed to these areas.  New utilities will be
  2478.     added in the following version(s).
  2479.  
  2480.     NOW RELIABLE:  The COMPLETE REBUILD has been recoded for higher
  2481.     speed and MUCH better reliability... especially to NOT corrupt
  2482.     the original copy of the index.
  2483.  
  2484.     A more reliable CD ROM identifier has been added, which will better
  2485.     distinguish between different disks.  The odds of two CD ROM's
  2486.     reporting the same ID number is now one in 16 million.  An ID
  2487.     override has been added just in case you still beat those odds.
  2488.     A utility has been added to quickly change the ID in the index
  2489.     for all of the files on a CD ROM.
  2490.  
  2491.     A toggle has been added to the Global Toggles to set AUTOMATIC
  2492.     or MANUAL CD ROM scanning.
  2493.  
  2494.       1. In Automatic scanning mode, KBBS uses its internal CD ROM
  2495.          ID method for determining which CD ROM is online.
  2496.  
  2497.       2. In Manual scanning mode, the sysop may assign CD ROM ID's
  2498.          and a picklist screen is used to assign which CD ROM is
  2499.          currently in the drive(s).
  2500.  
  2501.     All CD ROM utilities and setups have been put in the index menus,
  2502.     even though they are settings that apply to all file indexes.
  2503.  
  2504.     A new utility has been added to the CD ROM section to change files
  2505.     in the index to point to a different CD ROM drive.  Because this
  2506.     version changes the CD ROM identification method, you will need
  2507.     to run this utility on all of your CD ROMs.  (It's pretty fast)
  2508.     And your CD ROM's should stay online properly from now on.
  2509.  
  2510.  
  2511.   IMPROVEMENTS
  2512.  
  2513.     The pointers are now updated upon logoff after a QWKcrash session
  2514.     to save QWKcrash callers the extra seconds it takes to update
  2515.     pointers after the packet has been sent.
  2516.  
  2517.     Drives A and B are ignored by the file utilities, to prevent the
  2518.     "insert disk for drive B:" problem on single drive systems.
  2519.  
  2520.  
  2521.   BUG FIXES
  2522.  
  2523.     The ALT-F1 DOS Shell will now return properly without messing
  2524.     up the screen.
  2525.  
  2526.     An additional fix keeps pointers updated actively while a user
  2527.     reads online.  This should wrap up this problem once and for all.
  2528.  
  2529.     Time left is now properly updated if a user drops carrier while
  2530.     in a door or other external process.
  2531.  
  2532.     The local run option (ALT-R) in the door editor is now linked
  2533.     and running.
  2534.  
  2535.     The problem with long FTS origin lines has been fixed.
  2536.  
  2537.     The last read pointers are now being updated properly for
  2538.     callers that read mail online.
  2539.  
  2540.     Conference are now deleted and marked as deleted properly.
  2541.  
  2542.     File locking problems in various places has been fixed.
  2543.  
  2544.     The color attribute is now forced to $07 when shelling to DOS.
  2545.  
  2546.     SHARE is now being detected properly (although it is used when
  2547.     no other record locking driver is detected, KBBS would run
  2548.     without it and reporting "Node x in use")
  2549.  
  2550.     The DCE rate is now properly placed in the DOOR.SYS file.
  2551.  
  2552.  
  2553.   NEW SEQ COMMANDS AND FUNCTIONS
  2554.  
  2555.     LOADUSER( <username>, <aliasmode> ) :boolean   (function)
  2556.  
  2557.       Loads a user record, pointers and setup files
  2558.  
  2559.       <username> is of type string
  2560.       <aliasmode> is of type boolean
  2561.  
  2562.       Searches for and finds the user <username>.  If found, the
  2563.       current user record, pointers and setup files are updated to
  2564.       disk, and the user record, pointers and setup files for the
  2565.       specified user are loaded, becoming the user that's currently
  2566.       logged in and online.  Modifications to the user variables
  2567.       are then made to the newly loaded user's record, pointers and
  2568.       setup files.
  2569.  
  2570.       If <aliasmode> is TRUE, KBBS assumes <username> is an ALIAS,
  2571.       otherwise <username> is a REAL NAME.  This function returns
  2572.       TRUE of the user was found in the database and the user's
  2573.       record, pointer and setup files were loaded.  If not
  2574.       successful, no user record will be loaded.
  2575.  
  2576.       NOTE:  For replacement login sequences, simply loading a user
  2577.              with this function does not complete the login process!
  2578.              To complete the login, you must call the STARTUSER
  2579.              command, which loads the security level and session
  2580.              startup values.
  2581.  
  2582.     FIRSTUSER :boolean   (function)
  2583.     NEXTUSER :boolean   (function)
  2584.  
  2585.       Loads user records, pointers and setup files sequentially.
  2586.  
  2587.       These are functional equivilents to LOADUSER, except FIRSTUSER
  2588.       loads the first user in the database, and calls to NEXTUSER
  2589.       load the next user after the previous FIRSTUSER or NEXTUSER
  2590.       call.  Both functions return TRUE if the operation was
  2591.       successful.  FIRSTUSER should always return TRUE, unless the
  2592.       user database is corrupted or deleted.
  2593.  
  2594.     STARTUSER;
  2595.  
  2596.       Initializes the security level and session startup values
  2597.       for a user that has just logged in.  Time is reduced for
  2598.       upcoming events, and security access to the current node
  2599.       and schedule is checked.  This command MUST be called
  2600.       after the LOADUSER function if LOADUSER is used to replace
  2601.       the standard LOGIN commands.
  2602.  
  2603.     UPDATEUSER;
  2604.  
  2605.       For data integrity, this command saves the current user's
  2606.       record, pointers and setup files to disk.  Because this
  2607.       data is updated to disk upon logoff, this isn't necessary
  2608.       except in conditions where power outages, etc, might cause
  2609.       the system to go offline prior to a proper logoff.  This
  2610.       command has no effect if the user record, pointers or
  2611.       setup files have not been modified.  This command is ignored
  2612.       if the current user online is new and an ADDUSER command
  2613.       hasn't been executed.
  2614.  
  2615.     DELETEUSER;
  2616.  
  2617.       Deletes the current user from the user database and clears
  2618.       the current user record (i.e. no user will be online after
  2619.       this command is issued).  This command has no effect if no
  2620.       user is currently online.
  2621.  
  2622.     WRITEUSERLIST( <filepath>, <aliasmode> );
  2623.  
  2624.       <filepath> is of type path.
  2625.  
  2626.       Creates a text file named <filepath> and outputs a sorted list
  2627.       of user names to the file, closing it afterward.  This is the
  2628.       only method for quickly obtaining a sorted list of the users
  2629.       in the database.
  2630.  
  2631.     DROPFILE( <bbstype>, <destination> ) :path   (function)
  2632.  
  2633.       <bbstype> is of type char
  2634.       <destination> is of type path
  2635.  
  2636.       Creates a door drop file of type <bbstype> at <destination>.
  2637.       The following are the possible values for <bbstype>:
  2638.  
  2639.         '1'  DOORFILE.SR
  2640.         '2'  DOOR.SYS      (52 line)
  2641.         '3'  PCBoard v14.x (PCBOARD.SYS, PCBOARD.DAT and USERS)
  2642.         '4'  WildCat 2.0   (CALLINFO.BBS)
  2643.         '5'  RBBS          (DORINFO1.DEF)
  2644.         '6'  WWIV          (CHAIN.TXT)
  2645.         '7'  TriBBS        (TRIBBS.SYS)
  2646.  
  2647.       This function returns the full path to the drop file, if
  2648.       successful.
  2649.  
  2650.     WRITETEXTCH(...)
  2651.  
  2652.       This is functionally equivilent to WRITETEXT, except a carriage-
  2653.       return and linefeed are not added to the file, as with WRITETEXT.
  2654.       See WRITETEXT
  2655.  
  2656.     NUMCDS :integer   (function)
  2657.  
  2658.       Returns the number of CD ROMs defined in the CD ROM setup.
  2659.       Use CDONLINE and CDNAME to access information about each
  2660.       CD ROM.
  2661.  
  2662.     CDNAME( <num> ) :string   (function)
  2663.  
  2664.       <Num> is of type integer
  2665.  
  2666.       Returns the name of CD ROM number <num>.  <num> must be an
  2667.       integer from 1 to NUMCDS.  If <num> is out of range, this
  2668.       function will return an empty string.
  2669.  
  2670.     CDONLINE( <num> ) :boolean   (function)
  2671.  
  2672.       Returns the online status CD ROM number <num>.  <num> must
  2673.       be an integer from 1 to NUMCDS.  If <num> is out of range,
  2674.       this function will return FALSE.
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681. Z.1816
  2682. ------
  2683.  
  2684.   ADDITIONS
  2685.  
  2686.     A rebuild/degragment utility has been added to conference
  2687.     maintenance to rebuild corrupted setup and net status files (the
  2688.     new format files) and to defragment them if they seem to be
  2689.     running a little slow.
  2690.  
  2691.     The current conference will appear on the conference list
  2692.     regardless of whether it is configured for scanning.  This will
  2693.     help sysops that use the "Join" command to find the conference
  2694.     they joined on systems using the CONFLIST in the read area.
  2695.  
  2696.     A color editor has been added for changing the colors in the
  2697.     sysop utilities.  (See Setup, Global)
  2698.  
  2699.  
  2700.   BUG FIXES
  2701.  
  2702.     We found that systems with low conventional and XMS memory
  2703.     didn't upgrade properly from pre-15 to Alpha 15.  If you
  2704.     suspect you're having pointer, setup or net status file
  2705.     problems, rebuild those in conference maintenance with this
  2706.     version and it should be fixed.
  2707.  
  2708.     We finally found a clue to the Zmodem autostart problem some
  2709.     people are having...  some terminals are watching for the "rz"
  2710.     signal instead of the 00000 etc. block start, and they only
  2711.     look for the "rz" if it's at the beginning of the line.  KBBS
  2712.     now sends a carriage return before the "rz" to help those
  2713.     terminals see light.
  2714.  
  2715.     Although the new recoded file utilities aren't finished yet,
  2716.     the CD ROM online/offline problem should be working properly
  2717.     in this version.  If not, we'll release a patch fix (we're
  2718.     unable to test it properly here).
  2719.  
  2720.     Local mode drop files will use 19200 for baud rate, regardless
  2721.     of the current modem or node.  (We chose 19200 becase 0 caused
  2722.     problems with some doors, and 38400 with others.  19200 seems to
  2723.     work everywhere, unless someone finds otherwise)
  2724.  
  2725.     The DOS program execution code has been re-written and should
  2726.     work in finding the path, swapping the proper code and data
  2727.     segments and returning FROM the executed program without
  2728.     problems...  watch in case we're mistaken on this.
  2729.  
  2730.     The Internode pipeline is now being launched properly.
  2731.  
  2732.     The last read mail pointers are now being updated properly on exit.
  2733.  
  2734.     On low memory systems, the pointers are now being properly updated
  2735.     without crashing or ignoring the update request.
  2736.  
  2737.     KBBS EXPORT will now properly append to an existing .REP.  This also
  2738.     affects QWK packet scanning on some low memory systems, where the
  2739.     resulting QWK packet was corrupted, or messages were missing.
  2740.  
  2741.     The upload credit for time is fixed (it's not giving thousands
  2742.     of minutes of time credit for uploads anymore)
  2743.  
  2744.     The drop-to-DOS in the sysop utilities has been fixed to
  2745.     not mess up the interprogram screens.
  2746.  
  2747.     The ALT-V in the File Utilities has been fixed.
  2748.  
  2749.     KBBS will now accept FLAGPATH() parameters with wildcards, and will
  2750.     not duplicate names in the batch (which also keeps FTS conflicts
  2751.     from occurring).
  2752.  
  2753.     The LOCAL=x parameter has been repaired.
  2754.  
  2755.     The F1 popup help should work now in the sysop utilities.
  2756.  
  2757.  
  2758.